Java 多线程售票案例(同步锁)
2018-03-12 16:25
429 查看
public class MyThread implements Runnable{ /** * synchronized:同步锁: 保证资源同一时间 只能被同一条线程访问 * 可以锁对象 * 可以所方法 */ int num = 100;//共100张票 @Override public void run() { //售票 while(num>0){ synchronized (this) { num--; if(num > 0){ System.out.println(Thread.currentThread().getName()+"售票一张,余票:"+num); }else{ System.out.println("票售罄"); } try { Thread.sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } } } } }
public class Test { public static void main(String[] args){ MyThread mt = new MyThread(); Thread thread1 = new Thread(mt); thread1.setName("窗口一");//重命名 thread1.start(); Thread thread2 = new Thread(mt); thread2.setName("窗口二"); thread2.start(); Thread thread3 = new Thread(mt); thread3.setName("窗口三"); thread3.start(); Thread thread4 = new Thread(mt); thread4.setName("窗口四"); thread4.start(); } }
相关文章推荐
- JAVA笔记14__多线程共享数据(同步)/ 线程死锁 / 生产者与消费者应用案例 / 线程池
- java多线程实现火车售票系统 以及java中的同步的实现 同步块 和同步方法同时 同步
- 3-1-Java多线程-案例-售票&线程状态
- JAVA_多线程_用实现的方式实现售多窗口售票并用同步方法的方式保证线程安全
- java多线程实现火车售票系统 以及java中的同步的实现 同步块 和同步方法同时 同步
- Java多线程知识点总结——进阶篇(四)之静态同步函数用的是哪一个锁问题
- java多线程——同步块synchronized详解
- 浅谈Java多线程的同步问题
- Java多线程并发编程之构建自定义同步工具
- Java多线程4—线程同步问题+火车票售票系统
- Java多线程demo:售票
- Java多线程的同步机制(synchronized)
- synchronized——Java多线程的同步问题
- Java多线程和同步
- Java 多线程(五) 多线程的同步
- Java5 多线程(五)--CyclicBarrier同步的工具类
- Java.SE01.多线程_案例01
- 复习基础-Java多线程synchronized同步
- 浅谈Java多线程的同步问题
- Java多线程-线程的同步(同步方法)