- 博客(2)
- 收藏
- 关注
原创 多线程学习总结(二)
一、多线程带来的问题 (一)活跃性问题 死锁:两个线程相互等待对方释放资源 饥饿: 多线程并发时优先级低的线程永远得不到执行;线程被永久阻塞在一个等待进入同步块的状态;等待的线程永远不被唤醒 活锁:活锁指的是任务或者执行者没有被阻塞,由于某些条件没有满足,导致一直重复尝试—失败—尝试—失败的过程。处于活锁的实体是在不断的改变状态,活锁有可能自行解开。 如何避免饥饿问题: 对于优先级引发的...
2018-09-08 23:15:32 182
转载 多线程学习总结——锁
何为同步?JVM规范规定JVM基于进入和退出Monitor对象来实现方法同步和代码块同步,但两者的实现细节不一样。代码块同步是使用monitorenter和monitorexit指令实现,而方法同步是使用另外一种方式实现的,细节在JVM规范里并没有详细说明,但是方法的同步同样可以使用这两个指令来实现。monitorenter指令是在编译后插入到同步代码块的开始位置,而monitorexit是插入到...
2018-09-08 22:44:34 159
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人