我想将它用于一个项目,我遇到了麻烦。我有一个Windows窗体,我在其中启动了两个线程,然后关闭表单,线程继续他们的工作。当第二个线程停止时,如何中止第一个线程?
我做了第一个线程IsBackground,但第二个线程不是程序的唯一线程,第一个线程是在另一个已经关闭但不再存在的线程(窗体)中启动的,另外我不能设置一个类的标志不存在。我该怎么办?
为了解决这个问题,我希望你的电子邮件发送我的litle项目。谢谢
发布于 2019-06-24 14:19:04
Task
如果您使用的是.NET 4.0,我建议将后台工作作为对象,并使用a CancellationToken
来取消操作。
如果您还没有使用.NET 4.0,则可以使用BackgroundWorker
也支持取消的对象。
发布于 2019-06-24 15:50:30
你说你可以设置一个不存在的标志或类,但我会在某处创建一个标志。如果那是不可能的,我建议你需要发布原因。
所以我会bool
以某种方式向两个线程发送一个引用,当第一个线程完成时它将设置bool
为true
,第二个线程将继续检查它bool
,然后当它为真时退出。
https://stackoverflow.com/questions/-100001283
复制相似问题