线程通信

  static object locker = new object();
        public void A()
        {
            while (true)
            {
                lock (locker)
                {
                    //A
                    // do some thing

                    Monitor.Pulse(locker);
                    Monitor.Wait(locker);
                }
            }
        }
    public void B()
        {
            while (true)
            {
                lock (locker)
                {
                    //B
                    //do some thing
                    Monitor.Pulse(locker);
                    Monitor.Wait(locker);
                }
            }
        }

 thread.Join();可以阻塞其他线程,直到当前线程执行接收,类似Task里的wait;

posted @ 2015-06-26 20:10  nbu_djw  阅读(109)  评论(0编辑  收藏  举报