多线程

it2022-05-06  16

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;

 

转载于:https://www.cnblogs.com/dong897812629/archive/2013/05/31/3104823.html


最新回复(0)