一 线程同步的方法
1 ReentrantLock()
a)加锁
ReentrantLock lock = new ReentrantLock();
{
lock.lock();
try{
}
finally{
lock.unlock();
}
}
b)condition variable
Condition fund;
{
lock.lock();
try{
while(a < b)
fund.await();
fund.signalAll();
}
finally{
lock.unlock();
}
}
2 synchronized
a)加锁
synchronized void transfer(){
}
Object lock = new Object();
void transfer(){
synchronized{
}
}
b)condition variable
synchronized void transfer(){
wait();
try{
while(a < b)
fund.await();
nitifyAll();
}
finally{
lock.unlock();
}
}
本文介绍了两种线程同步方法:ReentrantLock 和 synchronized 的使用方式,包括如何加锁、释放锁及利用条件变量进行线程间通信。
1723

被折叠的 条评论
为什么被折叠?



