首页 > 编程语言 > 详细

多线程/售票

时间:2020-03-08 15:54:37      阅读:66      评论:0      收藏:0      [点我收藏+]

1.1进程/线程

1.2并发/并行

题目 : 三个售票员 卖出 30张票

笔记:如何编写企业级的多线程代码

固定的变成套路+模板是什么?

1 在高内聚低耦合的前提下,线程  操作   资源类

1.1一言不合先创建一个资源类

 1 public class Ticket {
 2         private int num = 30;
 3         Lock lock = new ReentrantLock();
 4 
 5         public void sale(){
 6             lock.lock();
 7             try{
 8                 if(num>0){
 9                     
10  System.out.println(Thread.currentThread().getName()+"\\t卖 
11   出第:"+(num--)+"\\t还剩下:"+num);
12                 }
13             }catch(Exception e){
14                 e.printStackTrace();
15             }finally {
16                 lock.unlock();
17             }
18         }
19     public static void main(String[] args) {
20 
21         Ticket ticket = new Ticket();
22         new Thread(()->{ for (int i = 0; i <= 40 ; i++) ticket.sale();},"A").start();
23         new Thread(()->{ for (int i = 0; i <= 40 ; i++) ticket.sale();},"B").start();
24         new Thread(()->{ for (int i = 0; i <= 40 ; i++) ticket.sale();},"C").start();
25     }

 

多线程/售票

原文:https://www.cnblogs.com/sbnj7/p/12442697.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!