多线程

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;

 

posted @ 2013-05-31 22:32  摩天轮的幸福  阅读(251)  评论(0编辑  收藏  举报