重新运行,重新启动和中止线程

时间:2018-07-09 10:03:20

标签: multithreading

我需要一个建议-我正在编写一个可以像TaskScheduler一样工作的应用程序,并且我希望每个任务都是一个单独的线程。我有一个

System.Collections.Concurrent.ConcurrentBag<Thread>

使用我的线程/任务,但是-我只能从此“包”中启动一个线程一次,完成后-我无法再次启动它(这是一个调度程序应用程序,所以一个线程可能每天/每小时/分钟启动一次...每几秒钟启动一次...)。 每次应该运行任务时,我都应该在“包”中创建新的线程吗? 另外-我真的无法从 ConcurrentBag (?)中删除对象

List<Thread>

...但是我读到List不是多线程的好方法。

还有另一件事-需要杀死太长时间才能完成的任务。因此,我需要在线程上进行中止-我认为人们也不会推荐这样做。

有人像我描述的那样有一些技巧来管理线程/任务列表吗?预先感谢您的建议。

1 个答案:

答案 0 :(得分:0)

没关系-我放弃了“线程”,而将使用单独的“进程”。