C# Thread类常用的API

var thread = new Thread(() =>
{
    Console.WriteLine("dosomething");
});
开启一个新线程
thread.Start();

线程挂起,已经过期的方法
//thread.Suspend();
//thread.Resume();//线程恢复,已经过期的方法

终结线程,抛出一个异常
thread.Abort();
把终结的线程再次启动,会有延时
Thread.ResetAbort();

设置优先级,不能保证一定会优先执行,只是提升概率
thread.Priority = ThreadPriority.Highest;

为后台线程,线程随进程结束而结束
thread.IsBackground = true;

前台线程,进程结束后,任务执行完毕以后线程才结束
thread.IsBackground = false;

线程等待
1 ThreadState判断
while (thread.ThreadState!=ThreadState.Stopped)
{
    Thread.Sleep(200);
}

2 Join等待
thread.Join();//等待线程结束
thread.Join(200);//限时等待,最多等待200ms,超时就不等了


猜你喜欢

转载自blog.csdn.net/weixin_40719943/article/details/106972873