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