首页 新闻 赞助 找找看

多线程的问题

0
悬赏园豆:5 [已解决问题] 解决于 2012-01-26 01:39

线程池中的队列很长很长,比如有100万个任务等待执行,且每个任务占有内存较大,这样子会有什么不好的影响吗?

通常遇到这种很多任务的情况,最好的做法是什么?一次全部都加入到队列中去呢还是分多次加入呢?

luotong的主页 luotong | 初学一级 | 园豆:4
提问于:2010-10-18 20:30
< >
分享
最佳答案
0

你完全可以不使用线程池

1.定义好一个你的任务队列,

2.创建N个线程

3.这些线程执行while循环从队列中取出任务进行处理

4.重复3步骤一直到你的队列元素个数为0

这期间,如果定义的线程越多,任务处理速度越快,而且可以自定义资源复用,

当你在调试的时候,可以只定义一个线程,方便调试

收获园豆:5
超级大强 | 菜鸟二级 |园豆:410 | 2010-10-19 17:45
其他回答(2)
0

可以设置线程池的最大等待列队和最大执行列队

 

让无法加入新的任务时抛出错误,然后等待

Dozer | 园豆:30 (初学一级) | 2010-10-18 23:50
你说的设置最大执行列队是用SetMaxThreads吧,设置最大等待列队用什么方法?
支持(0) 反对(0) luotong | 园豆:4 (初学一级) | 2010-10-19 00:10
0

100万?每个执行时间是多少,需要多久能完成?

数量越大肯定越有优化的空间

钧梓昊逑 | 园豆:945 (小虾三级) | 2010-10-19 09:01
每个执行时间大概5秒
支持(0) 反对(0) luotong | 园豆:4 (初学一级) | 2010-10-19 11:32
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册