学习ReentrantLock
2024-08-24 21:29:09
1. 使用ReentrantLock
import java.util.concurrent.locks.ReentrantLock; public class TestReentrantLock { public static void main(String[] args) {
final ReentrantLock reentrantLock = new ReentrantLock(true); reentrantLock.lock(); new Thread("Thread 1") {
public void run() {
for (int i = 1; i < 5; i++) {
reentrantLock.lock();
System.out.println(Thread.currentThread().getName() + " print " + i);
reentrantLock.unlock();
}
}
}.start(); new Thread("Thread 2") {
public void run() {
for (int i = 1; i < 5; i++) {
reentrantLock.lock();
System.out.println(Thread.currentThread().getName() + " print " + i);
reentrantLock.unlock();
}
}
}.start(); System.out.println(Thread.currentThread().getName() + " Done");
reentrantLock.unlock();
}
}
结果为:
main Done
Thread 1 print 1
Thread 1 print 2
Thread 1 print 3
Thread 1 print 4
Thread 2 print 1
Thread 2 print 2
Thread 2 print 3
Thread 2 print 4
最新文章
- 最强 Android Studio 使用小技巧和快捷键
- 培训SQLServer 嵌套事务PPT分享
- 【BZOJ-2436】嘉年华 DP + 优化
- 给dos命令“.bat”文件换图标
- 剑指offer--21题
- Java汉字排序(2)按拼音排序
- zoom 用法
- Android中SQLite使用
- [Q]如何将图纸打印为黑白的及设置打印样式
- JavaScript详解
- Python-01 学习第一节
- volatile作用及相关集合类
- VB.NET或C#报错:You must hava a license to use this ActiveX control.
- linux基础之CentOS7新特性
- Ubuntu 16.04常用快捷键
- dart --- 更符合程序员编程习惯的javascript替代者
- Codeforces C - String Reconstruction
- 各种容器与服务器的区别与联系 Servlet容器 WEB容器 Java EE容器 应用服务器 WEB服务器 Java EE服务器
- Breadth-first Search-690. Employee Importance
- 170320、使用快照和AOF将Redis数据持久化到硬盘中