java中使用ReentrantLock实现线程安全

如下代码:

class Window4 implements  Runnable {

    private  int ticket=100;
//1、先定义一个变量
private ReentrantLock rlock=new ReentrantLock(true); @Override public void run() { while (true){ try {
//2、加锁 rlock.lock();
if(ticket>0){ try { Thread.sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println(Thread.currentThread().getName()+":"+ticket); ticket--; }else{ break; } } finally {
          
//3、锁释放
rlock.unlock(); 

} } } }

 

 

代码中有注释。

 

posted @ 2022-04-13 00:12  沐雪架构师  阅读(99)  评论(0编辑  收藏  举报