这是一个关于线程池的验证 和 线程之间的争取现象的验证!【原创】

/**
 *Demo目的:这是一个关于线程池的验证 和 线程之间的争取现象的验证!
 *时间:2010年6月2日 14:17:38
 * **/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
namespace ConsoleApplication1
{
    class Program
    {
        static  AutoResetEvent auto= new AutoResetEvent(false);
        static  object Type = new object();
        static void Main(string[] args)
        {
            ThreadPool.QueueUserWorkItem(new WaitCallback(thread3));
            Thread t1 =new Thread (new ThreadStart (thread1 ));
            t1.Start();
            auto.WaitOne();
            Thread t2 =new Thread(new ThreadStart (Thread2 ));
            t2.Start();
        }
        private static   void thread1()
        {
            auto.Set();
            Monitor.Enter (Type );
            try
            {
                for (int i = 0; i < 100; i++)
                    Console.WriteLine("ThreadMedo1");
                Console.WriteLine("finished");
            }
            finally
            { Monitor.Exit(Type); }
        }
        private static  void Thread2()
        {
            if (Monitor.TryEnter(Type) == true)
            {
                for (int i = 0; i < 100; i++)
                    Console.WriteLine("ThreadMode2----》》");
            }
            else
                Console.WriteLine("This  thread  can't be gone into!");
        }
        private static void thread3(object b)
        {
            Console.WriteLine("This is the thread3 ' medoth!");
        }
    }
}

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页