ThreadPoolExecutor 可以定义更灵活的线程池。
1 : 线程池死锁
如果任务依赖于其他任务,可能产生死锁。 可以通过调整线程池的大小
2: 运行时间较长的任务
可以限定任务等待资源的时间,不要无限制的等待
3: 锁顺序死锁
当一个程序每次获得两次以上的锁时候,就可能产出死锁。
解决死锁的方式: 可以使用显示锁 ,手动释放锁
ThreadPoolExecutor 可以定义更灵活的线程池。
1 : 线程池死锁
如果任务依赖于其他任务,可能产生死锁。 可以通过调整线程池的大小
2: 运行时间较长的任务
可以限定任务等待资源的时间,不要无限制的等待
3: 锁顺序死锁
当一个程序每次获得两次以上的锁时候,就可能产出死锁。
解决死锁的方式: 可以使用显示锁 ,手动释放锁