java语言基础(92)——使用Lock锁实现线程安全

来源:互联网 发布:ps 淘宝女装 编辑:程序博客网 时间:2024/06/07 16:54

lock锁可以让我们更清晰的知道在哪里用了锁,在哪里释放了锁

package ThreadDemo;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;public class SellTicket implements Runnable{private int ticket = 100;private Lock lock = new ReentrantLock();    public void run(){   while(true){   lock.lock();//加锁   if(ticket>0){ try {Thread.sleep(100);//模拟网络延时} catch (InterruptedException e) { e.printStackTrace();} System.out.println(Thread.currentThread().getName() +"正在出售第"+ ticket-- +"张票"); }else{ break; }    lock.unlock();//释放锁   }   }   }


原创粉丝点击