java学习多线程之卖票示例】的更多相关文章

这一节我们来说一个示例就是卖票示例: 需求: 我们现在有100张票,然后分四个窗口来卖,直到卖完为止. 思路: 1.先定一个一个票类,描述票的属性,还有打印卖出的票,并且实现Runnable中的run方法. 2.定义一个主方法,把这个类当成一个独立的运行程序. 3.在主方法当中创建4个线程来卖票. 代码: class Ticket implements Runnable { ; public void sellT() { while(true) { ) System.out.println(nu…
/** * 例子:创建三个窗口卖票,总票数为100张.使用实现Runnable接口的方式 * 存在线程的安全问题,待解决. */class Window1 implements Runnable{ private int ticket = 100; @Override public void run() { while(true){ if(ticket > 0){ System.out.println(Thread.currentThread().getName() + ":卖票,票号为:…
/** * * 例子:创建三个窗口卖票,总票数为100张.使用继承Thread类的方式 * * 存在线程的安全问题,待解决. * */class Window extends Thread{ private static int ticket = 100; @Override public void run() { while(true){ if(ticket > 0){ System.out.println(getName() + ":卖票,票号为:" + ticket); t…
package shb.java.demo; /** * 多线程测试卖票小程序. * @Package:shb.java.demo * @Description: * @author shaobn * @Date 2015-9-2下午7:49:53 */ public class TestSyn { public static void main(String[] args) { //此注释为实现方式一 /*TicketDemo td = new TicketDemo(); Thread t1…
1.通过extends Thread /* 需求:简单的卖票,多个窗口同时买票 (共用资源) 创建线程的第二种方式:实现Runnable接口 步骤: 1,定义类实现Runnable接口 2,覆盖/重写Runnable接口中的run方法 将将线程要运行的代码存放在该run方法中 3,通过Thread类建立线程对象 4,将Runnable接口的子类对象作为实际参数传递给Thread类的构造函数 为什么要将Runnable接口的子类对象传递给Thread的构造参数呢? 答:自定义的run方法(自定义代…
内容介绍 线程安全 线程同步 死锁 Lock锁 等待唤醒机制 1    多线程 1.1     线程安全 如果有多个线程在同时运行,而这些线程可能会同时运行这段代码.程序每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的. 我们通过一个案例,演示线程的安全问题: 电影院要卖票,我们模拟电影院的卖票过程.假设要播放的电影是 “功夫熊猫3”,本次电影的座位共100个(本场电影只能卖100张票). 我们来模拟电影院的售票窗口,实现多个窗口同时卖 “魔童哪吒”这…
本文内容来源于  历经5年锤练--史上最适合初学者入门的Java基础视频 线程:就是进程中一个负责程序执行的控制单元(执行路径) 每一个线程都有自己运行的内容.这个内容可以称为线程要执行的任务. 多线程好处:解决了多部分同时运行的问题. 多线程的弊端:线程太多回到效率的降低. JVM启动时就启动了多个线程,至少有两个线程可以分析的出来. 1,执行main函数的线程, 该线程的任务代码都定义在main函数中. 2,负责垃圾回收的线程. 多线程状态图: 如何创建一个线程呢? 创建线程方式一:继承Th…
基础知识 每个正在系统上运行的程序都是一个进程(process).每个进程包含一到多个线程(thread).进程也可能是整个程序或者是部分程序的动态执行. 线程是一组指令的集合,或者是程序的特殊段,它可以在程序里独立执行.也可以把它理解为代码运行的上下文.所以线程基本上是轻量级的进程,它负责在单个程序里执行多任务. Java对多线程的支持是非常强大的,他屏蔽掉了许多的技术细节,让我们可以轻松的开发多线程的应用程序.Java里面有2个方法实现多线程, 1 继承 Thread类,比如 class M…
内容介绍 Thread 线程创建 线程池 线程状态图 1 多线程 1.1     多线程介绍 学习多线程之前,我们先要了解几个关于多线程有关的概念. 进程:进程指正在运行的程序.确切的来说,当一个程序进入内存运行,即变成一个进程,进程是处于运行过程中的程序,并且具有一定独立功能. 线程:线程是进程中的一个执行单元,负责当前进程中程序的执行,一个进程中至少有一个线程.一个进程中是可以有多个线程的,这个应用程序也可以称之为多线程程序. 简而言之:一个程序运行后至少有一个进程,一个进程中可以包含多个线…
现在我们有这么一个需求,就是在主线程在运行的同时,我们想做其他的任务,这个时候我们就用到了多线程.那么如何创建多线程,我们知道在系统当中qq的多线程创建是由操作系统来完成的,那么如果我们想在java当中创建多线程的话,应该如何去做呢?解决问题的时候,我们第一个应该想到的是,java当中是否给我们提供了解决该问题的对象,并且把这个对象暴漏出来供我们使用,特别是设计系统.这个时候我们去查阅javaapi. 创建线程的步骤: 1.创建一个类继承Thread类,此时这个类也就是线程 2.在该类当中覆盖T…