国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Windows8線程間通信與同步

Windows8線程間通信與同步

(2013-03-19 09:09:58)
      private int interLocked = 9;

      private int lockInt = 19;
      private object lockObj = new object();

      private Mutex mutex;

      private Semaphore semaphore = new Semaphore(2,2);

       public MainPage()
       {
          this.InitializeComponent();
       }

       protected override voidOnNavigatedTo(NavigationEventArgs e)
       {
           //線程同步:Interlocked
          ThreadPool.RunAsync(
              (source) =>
              {
                 Interlocked.Increment(ref interLocked);
                 //Interlocked.Decrement(ref interLocked);
              },
          WorkItemPriority.Normal);

          //lock
          ThreadPool.RunAsync(
              (source) =>
              {
                 lock (lockObj)
                 {
                    lockInt++;
                     lockInt *=5;
                 }
              },
          WorkItemPriority.Normal);

          //Monitor
          ThreadPool.RunAsync(
              (source) =>
              {
                 Monitor.Enter(lockObj);

                 Monitor.Wait(lockObj);//釋放對象上的鎖并進入對象的等待隊列
                //Monitor.Pulse(lockObj);//通知等待隊列中的線程鎖定對象狀態(tài)的更改

                 Monitor.Exit(lockObj);//釋放指定對象上的鎖
              },
          WorkItemPriority.Normal);


          //Mutex
          ThreadPool.RunAsync(
              (source) =>
              {
                 bool isNotRunning;
                 mutex = new Mutex(true, "MSI-Muxtex", outisNotRunning);
                 if (!isNotRunning)
                 {
                     //DoSomething ...
                 }
              },
          WorkItemPriority.Normal);

          
          //Semaphore
          ThreadPool.RunAsync(
              (source) =>
              {
                 //阻止當前線程,直到當前WaitHandle收到信號
                 semaphore.WaitOne();

                 //退出信號量并返回前一個計數(shù)
                 semaphore.Release();
              },
          WorkItemPriority.Normal);

          //AutoResetEvent autoRestEvent = new AutoResetEvent(false);
          //autoRestEvent.Set();
          //ManualResetEvent manualRestEvent = newManualResetEvent(false);
          //manualRestEvent.Set();
          //manualRestEvent.Reset();
          EventWaitHandle eventWaitHandle = new EventWaitHandle(false,EventResetMode.AutoReset, "msiEventWaitHandle");
          eventWaitHandle.WaitOne();
          eventWaitHandle.Set();
          eventWaitHandle.Reset();

       }
本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
C#線程同步(5)- 信號量 Semaphore
C#線程鎖(下)
多線程下的進程同步(線程同步問題總結篇)
Windows Embedded CE 6.0 Internals (1) Kernel Overview【轉】
線程池是怎么一回事
內核2.6.38更新2.6.35的地方
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服