在NET和C#中编写一个多线程应用程序将非常得容易即使对于那些从没有用C#编写过多线程应用程序的初学者只需遵循以下这些简单的步骤就可以实现目的
定义名称空间
在NET中多线程功能是在SystemThreading名称空间中定义的因此在使用任何线程类之前必须定义 SystemThreading名称空间定义方法如下
using SystemThreading;
启动线程
Systemthreading名称空间中的Thread类代表一个线程对象用这个类对象可以创建新的线程删除暂停和恢复线程 下面的代码使用Thread类创建一个新的线程然后启动这个线程
thread = new Thread(new ThreadStart( WriteData ));
threadStart();
其中WriteData是这个线程要执行的一个函数代码如下
protected void WriteData()
{
string str ;
for ( int i = ; i<=; i++ )
{
str = Secondary Thread + iToString();
ConsoleWriteLine(listViewListItemsCount str new string[]{} );
Update();
}
}
杀死线程
Thread类的Abort方法用于永久地杀死一个线程但是请注意在调用Abort方法前一定要判断线程是否还激活也就是判断threadIsAlive的值
if ( threadIsAlive )
{
threadAbort();
}
暂停线程
ThreadSleep方法用于将一个线程暂停一段时间代码如下
threadSleep();
设置线程的优先权
我们可以使用Thread类的ThreadPriority属性设置线程的优先权线程优先权的取值范围是NormalAboveNormalBelowNormalHighest或者Lowest请看下面的设置代码
threadPriority = ThreadPriorityHighest;
延迟线程
Thread类的Suspend方法可以延迟一个线程线程被延迟到调用Resume方法为止
if (threadThreadState = ThreadStateRunning )
{
threadSuspend();
}
恢复被延迟的线程
调用Resume方法可以恢复一个被延迟的线程如果线程没有被延迟Resume方法就是无效的
if (threadThreadState = ThreadStateSuspended )
{
threadResume();
}