程序中
ExecutorService FIXED_THREAD_POOL = Executors.newFixedThreadPool(5);
用这个线程池,程序之前还只是有有pool-2-thread-1 - pool-2-thread-5, 但是有一天突然出现了一个pool-2-thread-6,而且只出现一次,很神奇,请问这是怎么回事?不是最多只有5个线程吗?
ps:线程是java业务逻辑,逻辑里执行主要是对数据入库,删数据项操作,很多数据库I/O很耗时,几十分钟几个小时啥的。
参考官方文档
可以用下面的程序测试
注释掉(1)处的异常会得到正常结果
任务将在thread 1和2之间切换
抛出异常
RuntimeException
会看到如下的情况:能看到线程池在不断创建新的线程.