有没有办法设置一个值,当你启动线程时线程应该(最大)存活多长时间?
用另一种方式说,用“伪代码”,有这样的东西:
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,如下例所示,但当任务挂起时
它无法检查是否发生了取消请求.
解决方法
原文地址:https://www.jb51.cc/csharp/239009.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。