假设线程里面执行的逻辑要5s,那thread1.start以后一定要睡眠足够的时间,不然很可能导致线程没有执行完毕!!! 这里要睡眠的原因是因为这是跑测试用例,而实际生产部署以后,服务一直在运行,所以不会出现执行不完!!! 假如第一个线程执行要10s,第二个线程要5s,但是只睡眠了8s,只能执行完第二个线程,导致第一个线程没有...
最后一种饱和策略是CallerRunsPolicy,它既不抛弃新任务,也不抛弃旧任务,而是直接在当前线程运行这个任务。当前线程一般就是主线程啊,让主线程运行任务,说不定就阻塞了。如果不是想清楚了整套方案,还是少用这种策略为妙。 ThreadFactory 每当线程池需要创建一个新线程,都是通过线程工厂获取。如果不为ThreadPoolExecutor设定...