• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            huangyi5209

              C++博客 :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
              0 Posts :: 13 Stories :: 0 Comments :: 0 Trackbacks

            常用鏈接

            留言簿

            我參與的團(tuán)隊(duì)

            搜索

            •  

            最新評(píng)論

             

                #include <iostream>
            #include 
            <Windows.h>

            using namespace std;

            volatile LONG lfsSpinLock = 0;
            int num = 0;
            // lfsSpinLock is a 'long' and when it is '1' it is locked, and '0' is unlocked
            #define  ENTER_LFS_LOCK_   while( InterlockedExchange( &lfsSpinLock, 1 ) == 1 ){ Sleep( 10 ); }
            #define  EXIT_LFS_LOCK_    InterlockedExchange( &lfsSpinLock, 0 );


            void Func1() 


                
            //Wait to access the resource.  等待資源 

                ENTER_LFS_LOCK_;

                
            for (int i = 0;i < 20; i++)
                
            {
                    num
            ++;
                    cout
            <<num<<endl;
                }
                

                EXIT_LFS_LOCK_;

            }
             



            int _tmain(int argc, _TCHAR* argv[])
            {
                HANDLE hThrd[
            4];

                DWORD dwThrdID[
            4];
                hThrd[
            0= CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)Func1, NULL, 0&dwThrdID[0]);
                hThrd[
            1= CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)Func1, NULL, 0&dwThrdID[1]);
                hThrd[
            2= CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)Func1, NULL, 0&dwThrdID[2]);
                hThrd[
            3= CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)Func1, NULL, 0&dwThrdID[3]);

                WaitForMultipleObjects(
            4, hThrd, TRUE, INFINITE);
                
            for (int i=0;i<4;i++)
                
            {
                    CloseHandle(hThrd[i]);
                }


                system(
            "pause");
                
            return 0;
            }
            posted on 2011-03-28 16:09 huangyi5209 閱讀(877) 評(píng)論(0)  編輯 收藏 引用 所屬分類: C/C++
            日韩精品久久久久久久电影蜜臀| 亚洲一区精品伊人久久伊人| 久久性生大片免费观看性| 久久久久国产| 久久91精品国产91久| 伊人久久大香线蕉av一区| 久久99精品久久久久久久久久| 久久久久亚洲精品日久生情| 欧美日韩久久中文字幕| 久久99热狠狠色精品一区| 国产精品免费久久久久影院| 久久精品国产清自在天天线| 久久久久久久尹人综合网亚洲 | 久久精品国产精品亚洲精品 | 久久精品一区二区三区AV| 99国产欧美精品久久久蜜芽 | 久久影院午夜理论片无码| 欧美黑人激情性久久| 国产午夜福利精品久久| 婷婷久久香蕉五月综合加勒比| 国产一区二区精品久久岳| 精品蜜臀久久久久99网站| 亚洲AV无一区二区三区久久| 欧美精品一区二区久久| segui久久国产精品| 狠狠狠色丁香婷婷综合久久俺| 久久夜色精品国产噜噜亚洲a| 久久精品9988| 国产成人久久精品一区二区三区| 久久精品一区二区三区中文字幕| 久久精品人成免费| 精品久久久久久中文字幕大豆网 | 久久丫精品国产亚洲av| 区久久AAA片69亚洲| 精品人妻伦一二三区久久| 一本一道久久精品综合| 99久久国产综合精品成人影院| 国产亚洲精午夜久久久久久| 国内精品久久久久影院日本| 99久久免费国产精品热| 2021久久精品国产99国产精品|