线程池中的队列很长很长,比如有100万个任务等待执行,且每个任务占有内存较大,这样子会有什么不好的影响吗?
通常遇到这种很多任务的情况,最好的做法是什么?一次全部都加入到队列中去呢还是分多次加入呢?
你完全可以不使用线程池
1.定义好一个你的任务队列,
2.创建N个线程
3.这些线程执行while循环从队列中取出任务进行处理
4.重复3步骤一直到你的队列元素个数为0
这期间,如果定义的线程越多,任务处理速度越快,而且可以自定义资源复用,
当你在调试的时候,可以只定义一个线程,方便调试
可以设置线程池的最大等待列队和最大执行列队
让无法加入新的任务时抛出错误,然后等待
100万?每个执行时间是多少,需要多久能完成?
数量越大肯定越有优化的空间