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 }