在C#中,可以通过使用标志位来安全退出多线程。以下是一个示例代码:
using System;
using System.Threading;
class Program
{
private static bool isRunning = true;
static void Main()
{
Thread thread = new Thread(Worker);
thread.Start();
Console.WriteLine("Press any key to stop the thread...");
Console.ReadKey();
isRunning = false;
thread.Join();
Console.WriteLine("Thread stopped.");
}
static void Worker()
{
while (isRunning)
{
Console.WriteLine("Thread is running...");
Thread.Sleep(1000);
}
}
}
在上面的示例中,定义了一个静态的标志位isRunning
来控制线程的运行状态。在主线程中,启动了一个工作线程,并在按下任意键时将isRunning
设置为false
,然后等待工作线程结束。在工作线程中,通过检查isRunning
的值来控制线程是否继续运行。当isRunning
为false
时,工作线程会安全退出。
另外,也可以使用CancellationToken
来实现线程的安全退出。具体使用方法可以参考C#中的CancellationToken
文档。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/1084439.html