有没有办法设置一个值,当你启动线程时线程应该(最大)存活多长时间?
用另一种方式说,用“伪代码”,有这样的东西:
Thread t = new Thread(); t.start(); t.abort_after_x_seconds(30);
如果它超过30秒,它会使线程中止.
编辑:我仍然无法让它工作,我原来的是:
while(true) { if(...) { Thread t = new Thread(new ThreadStart(startMethod)); t.start(); } Thread.sleep(...); }
问题是有时候线程会挂起(我没有实现线程所做的事情,所以我不确切知道为什么(这是一个学校项目,我们组织起来的蠢货)),所以我想要杀死那些线程.我尝试使用Tasks和CancellationTokens,如下例所示,但当任务挂起时
它无法检查是否发生了取消请求.