摘要: 活跃性危险 一、死锁 发生:每个人都不愿意放弃自己的锁,确想要别人的锁,这就会导致死锁 1.锁顺序死锁:如果每个线程以固定的顺序获取锁,那么至少在程序中不会出现锁顺序导致的死锁; 因为顺序固定如:所有线程:A-B-C 则无问题,如果一个A-B B-A则会发生死锁 例子1:简单死锁 例子2:转账死锁 阅读全文
posted @ 2017-05-26 18:13 寰殇丶天使 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 一、任务和执行策略之间的隐性耦合 Executor可以将任务的提交和任务的执行策略解耦 只有任务是同类型的且执行时间差别不大,才能发挥最大性能,否则,如将一些耗时长的任务和耗时短的任务放在一个线程池,除非线程池很大,否则会造成死锁等问题 1.线程饥饿死锁 类似于:将两个任务提交给一个单线程池,且两个 阅读全文
posted @ 2017-05-26 16:52 寰殇丶天使 阅读(513) 评论(0) 推荐(0) 编辑
摘要: 一、任务的取消于关闭 1、中断Thread 1.每个线程都有一个boolean类型的中断状态。true则是中断状态中 interrupt:发出中断请求;isInterrupt:返回中断状态;interrupted:清除中断状态 2.JVM中的阻塞方法会检查线程中断状态,其响应方法为:清除中断状态,抛 阅读全文
posted @ 2017-05-26 10:15 寰殇丶天使 阅读(515) 评论(0) 推荐(0) 编辑