多线程
1.定义:
ThreadStart是System.Threading命名空间内的一个委托
ThreadPriority和ThreadState是System.Threading命名空间内的枚举
ThreadAbortException和ThreadStartException是System.Threading命名空间内的异常类
2.Thread类的属性和方法
1)创建线程
Thread 线程实例名称=new Thread(new ThreadStart(方法名称));
必须调用Thread 实例的Start() 方法才能使线程开始执行
2)方法
Abort()调用该方法终止线程
Join()禁止调用线程,直到线程终止
Thread.Interrupt()中止处于Sleep或Join线程状态的线程
Suspend()挂起线程;如果线程挂起,则方法无效
Resume() 恢复被挂起的线程
3)锁定机制
锁定机制确保每次只有一个线程访问方法 或代码,除非它已经完成了对方法或代码的执行,否则其他进程就无法进行访问
using System; using System.Collections.Generic; using System.Linq; using System.Text; /**/ using System.Threading; namespace BaseConsole { class ThreadLockDemo { static void Main() { Thread.CurrentThread.Name = "主线程"; ThreadLockDemo objDemo = new ThreadLockDemo(); Thread newThread = new Thread(new ThreadStart(objDemo.DoTask)); newThread.Name = "子线程"; newThread.Start(); objDemo.DoTask(); Console.ReadKey(); } void DoTask() { lock(this) { for (int count = 1; count <= 10;count++ ) { Console.WriteLine("线程名:"+Thread.CurrentThread.Name); } } } } }
结果:
3.对线程的调度
ThreadPriority枚举的成员:Highest > AboveNormal> Normal >BelowNormal >Lowest
objThread .Priority=ThreadPriority.Highest;
欢迎转载或分享,如果文章对你有帮助,请给予推荐,欢迎交流及关注!!!