我需要在两到四个不同的服务器上执行时间密集型任务.
服务器的数量可以变化.
我需要在大致相同的时间在每台机器上执行相同的任务,否则它会使此过程花费的时间增加四倍.
到目前为止,我已经能够想出这个:
public partial class Form_main : Form { list<string> vms = new list<string>; ///Fill in vms... private void starttest() { ///prevents GUI from hanging ThreadPool.QueueUserWorkItem(new WaitCallback(runTests)); } pirvate void runTests() { ///Some setup stuff (~1 min) foreach(string vm in vms) { ThreadPool.QueueUserWorkItem(new WaitCallback(testProcedure),new object[] {vm}); } } }
这适用于一次运行所有内容,但问题是如果GUI被杀死,线程不会随之被杀死.我想它是杀死runTests线程但是没有杀死testProcedures线程.
我怎样才能使得在关闭GUI时testProcedures线程被杀死?
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。