1. 在多线程并发的场景下,使用锁来控制多个任务对同一共享资源的访问,拿到锁的任务优先访问公共资源
//并发的用户数
private static final int threadNum = 10;
//倒计数器(发令抢),用于制造线程的并发执行
private static CountDownLatch cdl = new CountDownLatch(threadNum);
public void run(){
try{
cdl.await();//线程运行到这里等待,等待发令枪计数器变为0
}catch(InterruptedException e){
e.printStackTrace();
}
//线程结束后,所有线程同时执行换行给printer 发送打印指令
Printer.print(Thread.currentThread().getName()+"");
}
public static void main(String[] args){
for(int i=0;i<threadNum;i++){
new Thread(new PrintTask("sssssss")).start();
cdl.countDown();
}
}