码迷,mamicode.com
首页 > 编程语言 > 详细

Java多线程之分销电影票

时间:2017-03-17 17:49:13      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:线程   mode   美团   div   类型   thread   override   电影   java多线程   

代码:

 1 public class MainClass {
 2 
 3     public static void main(String[] args) {
 4         method1();
 5     }
 6     public static void method1() {
 7         sellMovie sell = new sellMovie();
 8         
 9         new Thread(sell, "美團").start();
10         new Thread(sell, "糯米").start();
11     }
12 }
1 public class Model {
2     int total = 10;
3 }

 1 public class sellMovie implements Runnable {
 2     Model model = new Model();
 3 
 4     @Override
 5     public void run() {
 6         while (model.total > 0) {
 7             synchronized (model) {// 只能鎖引用類型
 8             
 9                 if (model.total > 0) {
10                     System.out.println("銷售票:" + model.total +" "+Thread.currentThread().getName());
11                 } else {
12                     System.out.println("票售完了");
13                     return;
14                 }
15                 model.total--;
16             }
17             System.out.println(".............");
18         }
19     }
20 }

本例通过实现Runnable接口方法实现多线程,这里是“美团“和“糯米“两个分线程抢票的过程。

由于线程锁只能锁引用类型,所以这里将剩余票数以Model类属性的形式表现出来。

以下是一次输出结果:

銷售票:10 美團
.............
銷售票:9 糯米
.............
銷售票:8 美團
.............
銷售票:7 美團
.............
銷售票:6 糯米
.............
銷售票:5 美團
.............
銷售票:4 糯米
.............
銷售票:3 美團
.............
銷售票:2 美團
.............
銷售票:1 美團
.............
票售完了

 

Java多线程之分销电影票

标签:线程   mode   美团   div   类型   thread   override   电影   java多线程   

原文地址:http://www.cnblogs.com/wqtmgetChild/p/6567477.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!