看了些线程的文字,把它写下来,作为自己的复习吧。Thread 来自System.Threading类。
1:使用它首先进行初始化:
2:启动线程:myThread.Start();到此构造的线程就开始启动执行方法(excuteThreadFunctionName
要让线程休眠,就在线程执行的过程中用Thread.sleep(毫秒数);进行休眠(暂停线程的暂停)直到达到给定的毫秒数后在接着执行。
3:要挂起线程:用Suspend()方法(myThread.Suspend())。线程挂起和线程休眠不同,挂起不会立即是执行停止,而是在线程执行到一个安全点时才停止,等到其他线程调用Resume()方法才继续执行。(一个线程不能对另一个线程调用Sleep ,但是一个线程可以对另一个线程调用Suspend。)
4:终止(结束)当前线程用方法:Abort();
在一个局部方法中启动一个线程后在这个方法结束后该线程自然也就终止了。
在多个线程共同启动的时候,如果有共享数据,则在修改这些数据时要用lock把代码块标记为互斥代码块,使之在同一时刻只有一个线程访问,防止误读数据。
在c#中写一个多线程应用是非常简单的,本章将介绍如何在c#种开发多线程程序。在.net中线程是由System.Threading 名字空间所定义的。所以你必须包含这个名字空间。
下面是启动线程执行的函数
protected void HelloWorld()
{
string str ;
Console.write("helloworld");
}
}
杀死一个线程
线程类的 Abort()方法可以永久的杀死一个线程。在杀死一个线程起前应该判断线程是否在生存期间。
if ( thread.IsAlive )
{
thread.Abort();
}
停止一个线程
Thread.Sleep 方法能够在一个固定周期类停止一个线程
thread.Sleep();
设定线程优先级
线程类中的ThreadPriority 属性是用来设定一个ThreadPriority的优先级别。线程优先级别包括Normal, AboveNormal, BelowNormal, Highest, and Lowest几种。
thread.Priority = ThreadPriority.Highest;
挂起一个线程
调用线程类的Suspend()方法将挂起一个线程直到使用Resume()方法唤起她。在挂起一个线程起前应该判断线程是否在活动期间。
if (thread.ThreadState = ThreadState.Running )
{
thread.Suspend();
}
唤起一个线程
通过使用Resume()方法可以唤起一个被挂起线程。在挂起一个线程起前应该判断线程是否在挂起期间,如果
线程未被挂起则方法不起作用。
if (thread.ThreadState = ThreadState.Suspended )
{
thread.Resume();
}