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(); 

} } } }

 

 

代碼中有註釋。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章