[
myElement]表示变量
第一部分 线程的概念
第二部分 线程的基本用法
第一步:引入命名空间:using System.Threading;
第二步:申明ThreadStart(即线程的入口);语法格式如下:
ThreadStart myThreadStart=new ThreadStart([
method]);
第三步:定义一个线程;语法格式如下:
Thread [
threadOne
]=new Thread([
ThreadStart]);
[
ThreadStart]必须定义好!
第四步:执行线程,语法格式如下:
[
Thread].Start();
其它语法:
挂起线程:表示处理器不再需要安排这个线程的执行。[
workerThread].Suspend();
休眠进程:表示暂停[
wokerThread].Sleep([
time]);
联接线程:将使调用线程进入WaitSleepJoin状态,然后调用线程将阻塞,直到另一个线程实例终止。[
worker].Join();
例子1
:
using
System;
using
System.Collections.Generic;
using
System.Text;
using
System.Threading;//
引入这个命名空间
namespace
ConsoleApplication1
{
class Program1
{
static void main(string[] args)
{
Console.WriteLine("{Main Thread} Creating the thread start delegate.");
ThreadStart workerThreadStart = new ThreadStart(SimpleWorkerThread);//
定义一//个线程入口为SimpleWorkerThread.
Console.WriteLine("{Main Thread} Creating the worker thread.");
Thread workerThread = new Thread(workerThreadStart);//
定义一个线程,线程名为workerThread
//
线程开始
workerThread.Start();
Console.Read();
//
线程的非正常结束
workerThread.Abort();
Console.WriteLine("{Main Thread} Aborting worker thread.");
workerThread.Join();
Console.WriteLine("{Main Thread} Worker Thread Terminated.");
Console.Read();
}
public static void SimpleWorkerThread()
{
for (int i = 0; ; i++)
{
try
{
Console.WriteLine("Hello from the worker thread.");
if (i > 1000)
{
Thread.CurrentThread.Abort();
return;
}
}
catch (Exception e)
{
Console.WriteLine(e.ToString()+" Exception caught.");
Thread.ResetAbort();
}
}
}
}
}