zoukankan      html  css  js  c++  java
  • WaitHandle.WaitOne的第二参数

    using System;
    using System.Threading;
    using System.Runtime.Remoting.Contexts;

    namespace ConsoleApplication4
    {
        [Synchronization]
        public class MyCounter : ContextBoundObject
        {

            private int _expectedCounterVal;
            private int _currentCounterVal;
            private ManualResetEvent _event = new ManualResetEvent(false);

            public void WaitUntilCounterIs(int counterVal)
            {
                _expectedCounterVal = counterVal;
                _event.WaitOne(TimeSpan.FromDays(1), true);
            }

            public void IncrementCounter()
            {
                if (++_currentCounterVal >= _expectedCounterVal)
                {
                    _event.Set();
                }
            }


            static void Main()
            {
                MyCounter counter = new MyCounter();
                Output("Main starting.");
                ThreadPool.QueueUserWorkItem(new WaitCallback(WorkThreadAddCounter), counter);
                counter.WaitUntilCounterIs(10);
                Output("Main ending.");
            }

            static void WorkThreadAddCounter(object counter)
            {
                Output("Work starting.");
                for (int i = 0; i < 20; i++)
                {
                    Thread.Sleep(10);
                    ((MyCounter)counter).IncrementCounter();
                    Output(i.ToString());
                }
                Output("Work ending.");
            }

            static void Output(string text)
            {
                Console.WriteLine(DateTime.Now.ToString("HH:mm:ss ") + text);
            }
        }


    }
  • 相关阅读:
    符合Web标准的表格——CSS表格
    导航 Jquery
    【IOS学习】之三、图像视图&文本字段
    【VC++积累】之四、文件删除,复制
    Xcode 4.4中LLVM compiler 4.0带来的ObjectiveC新语法特性
    最快的存储过程分页 50W
    【网络编程】之十一、重叠IO Overlapped IO 完成例程
    OD使用教程15 调试篇15
    线性表12|循环链表 数据结构和算法17
    线性表13|约瑟夫问题 数据结构和算法18
  • 原文地址:https://www.cnblogs.com/mxw09/p/1983351.html
Copyright © 2011-2022 走看看