首页 新闻 会员 周边 捐助

多线动态加入新的任务应该怎么处理。

0
悬赏园豆:40 [待解决问题]
  Thread[] ths = new Thread[100];
for (int i = 0; i <= task_jihe.Count; i++)
{
ths[i].Name = string.Format("第{0}个线程", i);
ths[i] = new Thread(Enter);
ths[i].Start();
}

 

大约如上面的意思一样,问题很简单,如果task_jihe里面数突然增加了,那我怎么添加新线程到任务之中?如果我这样的做法是错的,还望前辈们给个类似可以动态的添加新任务的方法。

转世为神的主页 转世为神 | 初学一级 | 园豆:0
提问于:2012-03-06 02:59
< >
分享
所有回答(2)
0

你可以使用对列queue,它是一种特殊的线程,还有一个名子叫先进先出,它只允许在表的前端进行删除操作,而在表的后端进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。用它的话,再配合定时器timer,可以让同一进程逐个的运行,也可以让多个不同的进程同时运行:

Queue<string> queue = new Queue<string>();//定义一个对列对象

        queue.Clear();//清除对列

        queue.Enqueue("添加内容");//添加新的对象

        queue.Dequeue();//移除并返回位于开始处的对象

        queue.Peek();//返回开始处的对象,但不移除

        queue.Count.ToString();//获取对列中的所有元素数

        queue.Contains("是否存在");//判断元素是否存在队列中

KivenRo | 园豆:1734 (小虾三级) | 2012-03-06 07:05
0

task_jihe是什么?

水牛刀刀 | 园豆:6350 (大侠五级) | 2012-03-06 10:52
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册