java readlock 实例3
来源:互联网 发布:java零基础多久能学会 编辑:程序博客网 时间:2024/06/05 02:47
public class ReadThread implements Runnable{
TableControl tc;
public ReadThread(TableControl tc){
this.tc=tc;
};
@Override
public void run() {
tc.readLock().lock();
System.out.println("ReadThread");
tc.get();
tc.readLock().unlock();
}
}
public class WriteThread implements Runnable{
TableControl tc;
public WriteThread(TableControl tc){
this.tc=tc;
};
@Override
public void run() {
tc.writeLock().lock();
System.out.println("WriteThread");
tc.add(100);
tc.writeLock().unlock();
}
}
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReadWriteLock;
import java.util.concurrent.locks.ReentrantReadWriteLock;
public class TableControl {
private ReadWriteLock readWriteLock = new ReentrantReadWriteLock();;
private int i = 0;
public void get() {
System.out.println(i);
try {
Thread.sleep(10000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
public void add(int v) {
i += v;
System.out.println(i);
try {
Thread.sleep(10000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
public Lock readLock() {
return readWriteLock.readLock();
}
public Lock writeLock() {
return readWriteLock.writeLock();
}
}
public class TestMain {
public static void main(String args[]){
TableControl tc=new TableControl();
WriteThread wt=new WriteThread(tc);
ReadThread rt=new ReadThread(tc);
Thread t1 =new Thread(wt);
Thread t2 =new Thread(rt);
t2.start();//变换顺序不同
t1.start();//变换顺序不同
}
}
- java readlock 实例3
- java readlock实例
- java readlock实例2
- ReadLock和WriteLock(读写锁)
- java实例3
- Java实例3 - 三角数字
- Java实例3 - 三角数字
- Java实例
- java实例
- Java 实例
- java实例
- Java:实例
- java 实例
- Java 实例
- Java 实例
- JAVA实例
- Java 实例
- Java 实例
- NYOJ 57 6174问题 2013年8月20日
- ETL 工具下载全集 包括 Informatica Datastage Cognos( 持续更新)
- 解决安装Egit时Egit Mylyn和org.eclipse.team.core报错
- 10.表和数据的基本操作
- 在windows系统中安装hadoop
- java readlock 实例3
- 编译一个空类会默认生成哪些函数?
- getOutputStream() has already been called for this response
- 升华的每一天
- Ubuntu下安装Android Studio
- 早前报道:泛鑫保险美女高管携款5亿元潜逃海外
- 深入学习Make命令和Makefile
- poj 2348 Euclid's Game
- 判断是否是2的N次方