1. <nobr id="easjo"><address id="easjo"></address></nobr>

      <track id="easjo"><source id="easjo"></source></track>
      1. 
        

      2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
      3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>
          貴州做網站公司
          貴州做網站公司~專業!靠譜!
          10年網站模板開發經驗,熟悉國內外開源網站程序,包括DEDECMS,WordPress,ZBlog,Discuz! 等網站程序,可為您提供網站建設,網站克隆,仿站,網頁設計,網站制作,網站推廣優化等服務。我們專注高端營銷型網站,企業官網,集團官網,自適應網站,手機網站,網絡營銷,網站優化,網站服務器環境搭建以及托管運維等。為客戶提供一站式網站解決方案?。?!

          關鍵部分CCriticalSection使用

          來源:互聯網轉載 時間:2023-12-13 10:02:58

          類CCriticalSection的對象表示一個“臨界區”,它是一個用于同步的對象,同一時刻僅僅同意一個線程存取資源或代碼區。臨界區在控制一次僅僅有一個線程改動數據或其他的控制資源時很實用。比如,在鏈表中添加一個結點就僅僅同意一次一個線程進行。通過使用CCriticalSection對象來控制鏈表,就能夠達到這個目的。它就像是一把鑰匙,哪個線程獲得了它就獲得了執行線程的權力,而把其他線程統統堵塞。
          CCriticalSection類的構造函數原型例如以下:

          CCriticalSection()

          能夠發現這個類的構造函數沒有參數,所以創建一個CCriticalSection類的對象很easy,僅僅有例如以下就可以:

          CCriticalSectioncriticalSection;

          演示樣例:使用臨界段編寫一個有兩個線程的應用程序。
          1.創建單文檔應用程序;
          2.在視圖類的實現文件里定義一個臨界段對象:

          CCriticalSectioncriticalSection;

          3.在視圖類的實現文件里定義兩個線程函數:

          UINTMessageThread1(LPVOIDpParam)

          {

          criticalSection.Lock();

          LPTSTRpMessage=_T(
          “Thread1isstarted”);

          CWnd*pMainWnd=AfxGetMainWnd();

          ::MessageBox(pMainWnd->m_hWnd,pMessage,_T(
          “Threadmessage”),MB_OK);

          criticalSection.Unlock();


          return
          0;

          }

          UINTMessageThread2(LPVOIDpParam)

          {

          criticalSection.Lock();

          LPTSTRpMessage=_T(
          “Thread2isstarted”);

          CWnd*pMainWnd=AfxGetMainWnd();

          ::MessageBox(pMainWnd->m_hWnd,pMessage,_T(
          “Threadmessage”),MB_OK);

          criticalSection.Unlock();


          return
          0;

          }

          4.在視圖類鼠標左鍵消息函數編寫例如以下:

          voidCThreadTestView::OnLButtonDown(UINTnFlags,CPointpoint)

          {

          AfxBeginThread(MessageThread1,_T(
          “Threadisstarted”));
          //啟動線程1

          AfxBeginThread(MessageThread2,_T(
          “Threadisstarted”));
          //啟動線程2

          CView::OnLButtonDown(nFlags,point);

          }

          執行結果例如以下:

          參考資料:
          1.臨界段類(CCriticalSection)——MFC http://blog.sina.com.cn/s/blog_627ebfc30100itd9.html
          2.《MFC Windows應用程序設計(第2版)》

          網絡推廣與網站優化公司(網絡優化與推廣專家)作為數字營銷領域的核心服務提供方,其價值在于通過技術手段與策略規劃幫助企業提升線上曝光度、用戶轉化率及品牌影響力。這...

          在當今數字化時代,公司網站已成為企業展示形象、傳遞信息和開展業務的重要平臺。然而,對于許多公司來說,網站建設的價格是一個關鍵考量因素。本文將圍繞“公司網站建設價...

          在當今的數字化時代,企業網站已成為企業展示形象、吸引客戶和開展業務的重要平臺。然而,對于許多中小企業來說,高昂的網站建設費用可能會成為其發展的瓶頸。幸運的是,隨...

          天地圖是什么坐標系?天圖采用gcs2000坐標系。國家開始封禁,谷歌地球之后,這些,地理類頭條號還能生存嗎?我最近也發現了這個問題。谷歌地圖的推出可以促進中國地圖產業的提升。事實上,這是件好事。沒有必要禁止谷歌地圖。此外,我們在國外看到的更清楚。沒有必要禁止它。另外,我們在谷歌地球上看不到任何有價值的軍事機密。最好是向喜歡學習電子地理的朋友開放]總之,要禁止谷歌地圖,目前沒有對等的替代品,這是歷史...

          網頁無法修改怎么辦?操作輸入你只需要選擇用戶配置管理模板";Windows組件";IntIE瀏覽器初始網頁為369,不能更改。怎么辦?用360安全衛士,我現在手機上網,有些操作忘記了。我覺得是在高級或者保護區。其中一條是:允許我修改Iie瀏覽器默認主頁,改完,就變回去,怎么辦?這個可以用360安全衛士。系統修復掃描完成后,按一鍵修復。點擊右上方的I如何恢復ie瀏覽器默認設置?1.首先打開iie瀏覽...

          手機充電為什么越來越慢?手機充電越來越慢有兩個原因。第一個原因是我們的充電線質量不太好,或者是老化了,所以越來越慢。第二個原因是我們的手機使用時間長了,手機的電池也開始老化了。充電速度會很慢,耗電會很快。0-@qq.com手機充電越來越慢,可能是手機或者充電器的問題造成的。手機用久了就會出現這種情況,因為手機用久了各方面的功能都會逐漸退化,就像人一樣。人年輕的時候當然是朝氣蓬勃,但是年紀大了就完全...

          TOP
          国产初高中生视频在线观看|亚洲一区中文|久久亚洲欧美国产精品|黄色网站入口免费进人
          1. <nobr id="easjo"><address id="easjo"></address></nobr>

              <track id="easjo"><source id="easjo"></source></track>
              1. 
                

              2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
              3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>