设置了isRun导致任务没有执行完是因为子线程在消费队列的时候的run内while循环取队列的值,如果isRun为flase会停掉所有线程,解决是不仅isRun为false还要求队列的数据10个全取出队列大小为0.
当线程池队列满的时候任务会不会丢
可以使用默认的rejectExcetorHandler的自带实现,也可以自己实现,把任务写入到redis中mysql中等并额外使用定时器消费远程的数据保证任务不会丢失,线程池的已经创建的线程都会处在run的方法作用域里while一直执行,是否线程在真运行,取决于当前线程在run的时候是否阻塞或获得时间片停止线程池是通过全局变量结束while循环中的条件,让每一个处在运行的线程执行完成。