java中使用ReentrantLock实现线程安全

Posted wx6070687864c6e

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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(); 

 

 

代码中有注释。

 

作者:沐雪 文章均系作者原创或翻译,如有错误不妥之处,欢迎各位批评指正。本文版权归作者,如需转载恳请注明。 如果您觉得阅读这篇博客让你有所收获,
​​​ 为之网-热爱软件编程 http://www.weizhi.cc/​

以上是关于java中使用ReentrantLock实现线程安全的主要内容,如果未能解决你的问题,请参考以下文章

Java多线程之ReentrantLock与Condition

Java多线程和并发,ReentrantLock(公平锁)

用ReentrantLock和Condition实现线程间通信

java 多线程之ReentrantLock与condition

多线程-ReentrantLock

多线程协作打印ABC之ReentrantLock版本