我有一个由C#编写的多线程应用程序,我的最大线程数为256,并且此应用程序在Ip间隔(192.168.1.0 -192.168.205.255) 中获得计算机的性能计数器,它工作正常并在一天内多次转身。因为我必须得到报告。中止非工作线程
但问题是有时一台机器保持一个线程,永远无法完成其工作,以便我的循环犯规转...
还有什么办法来创建一个倒计时参数线程。当我在foreach中启动线程?
foreach(Thread t in threads)
{
t.start(); -----> t.start(countdownParameter) etc....
}
coundown参数是每个线程的最大生命周期。这意味着如果一个线程无法到达一台机器,它必须中止。例如60秒..不是256台机器,我的意思是256个线程......大约有5000个IP,其中600个是活着的。所以我使用256个线程来读取它们的值。另一件事是循环。我的循环正在工作,而所有的客户端完成它从一开始就开始。
我不明白 - 你想要'countdownParameter'在这里实现什么? “一台机器保持线程”是什么意思?这是如何阻止你的程序循环?发布真实的代码对于获得有用的反馈会有很大的帮助。 – 2010-10-18 23:13:06
你有256 *机器*?还是CPU的?还是实际的“线程”?或者是什么? – Arafangion 2010-10-18 23:21:24
@Arafangion - 我不敢问,但它看起来像一个线程,每个IP,乍一看 – 2010-10-18 23:22:55