重入锁 (替换synchronized)
来源:互联网 发布:超级电子仿真软件 编辑:程序博客网 时间:2024/06/06 02:25
package com.brendan.cn.concurrent;import java.util.concurrent.locks.ReentrantLock;public class ReenterLock implements Runnable { public static ReentrantLock lock = new ReentrantLock(); public static int i = 0; @Override public void run() { for (int j = 0; j <10000 ; j++) { lock.lock(); try { i ++; System.out.println((Thread.currentThread().getName() +" === > "+i)); }finally { lock.unlock(); } } } public static void main(String[] args) throws InterruptedException { ReenterLock rl = new ReenterLock(); Thread t1 = new Thread(rl); Thread t2 = new Thread(rl); t1.start(); t2.start(); t1.join(); t2.join(); System.out.println("*************"+i); }}这里的join 指的是加入一个线程,t.join 指等待t1线程执行完后,主线程才执行重入锁的重入是指一个线程可以多次获取资源
阅读全文
0 0
- 重入锁 (替换synchronized)
- (二)synchronized和重入锁
- @synchronized()
- Synchronized和ReentrantLock重入锁
- 关于Synchronized(转载)
- synchronized 关键字(Android)
- synchronized 关键字(Android)
- synchronized详解(一)
- synchronized详解(二)
- synchronized详解(三)
- synchronized 关键字(Android)
- 线程同步(synchronized)
- synchronized 学习(一)
- synchronized 关键字(Android)
- JAVA同步(synchronized)
- 线程笔记(synchronized)
- 线程(2)-----synchronized
- java synchronized (一)
- js验证是否是数字
- python爬虫(二)爬取知乎问答
- 安卓5.1源码解析 : RecyclerView解析 从绘制流程,ViewHolder复用机制,LayoutManger,ItemAnimator等流程全面讲解
- 用css画三角形
- Android基础_网络请求/AsyTaskDemo(六)
- 重入锁 (替换synchronized)
- mybatis +junit4 +maven
- js千位符
- ssm文件上传
- 杭电acm2012 素数判定
- 二叉树的定义及实现
- 根据checkBox的状态,控制按钮可否点击。不可点击置灰
- 学不可以已_001
- Spring JdbcTemplate query查询结果转换对象