线程问题

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (15)

我想将它用于一个项目,我遇到了麻烦。我有一个Windows窗体,我在其中启动了两个线程,然后关闭表单,线程继续他们的工作。当第二个线程停止时,如何中止第一个线程?

我做了第一个线程IsBackground,但第二个线程不是程序的唯一线程,第一个线程是在另一个已经关闭但不再存在的线程(窗体)中启动的,另外我不能设置一个类的标志不存在。我该怎么办?

为了解决这个问题,我希望你的电子邮件发送我的litle项目。谢谢

提问于
用户回答回答于

你说你可以设置一个不存在的标志或类,但我会在某处创建一个标志。如果那是不可能的,我建议你需要发布原因。

所以我会bool以某种方式向两个线程发送一个引用,当第一个线程完成时它将设置booltrue,第二个线程将继续检查它bool,然后当它为真时退出。

用户回答回答于

Task如果您使用的是.NET 4.0,我建议将后台工作作为对象,并使用a CancellationToken来取消操作。

如果您还没有使用.NET 4.0,则可以使用BackgroundWorker也支持取消的对象。

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励