- 博客(2)
- 收藏
- 关注
原创 线程间的通信wait与notify
wait()方法 wait()方法使得当前线程必须要等待,等到另外一个线程调用notify()或者notifyAll()方法。 当前的线程必须拥有当前对象的monitor,也即lock,就是锁。 线程调用wait()方法,释放它对锁的拥有权,然后等待另外的线程来通知它(通知的方式是notify()或者notifyAll() 方法),这样它才能重新获得锁的拥有权和恢复执行。 要确保调用wai...
2018-10-31 22:48:09 1183
转载 Java中的自旋锁
自旋锁(spinlock):是指当一个线程在获取锁的时候,如果锁已经被其它线程获取,那么该线程将循环等待,然后不断的判断锁是否能够被成功获取,直到获取到锁才会退出循环。 获取锁的线程一直处于活跃状态,但是并没有执行任何有效的任务,使用这种锁会造成busy-waiting。 Java如何实现自旋锁? 下面是个简单的例子: public class SpinLock { priva...
2018-10-25 22:20:41 21881 7
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人