<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ### 一、安裝pthreads-w32-2-8-0-release.exe > 至于怎么下載這個exe還是自己去百度吧,CSDN上反正可以下載,而且有免費版本的,資源里面搜下就行了。 然后安裝這個就行了(按照下面的123來就行了)。 ![](https://box.kancloud.cn/2016-08-19_57b6ce7d36a61.jpg) 然后Pre-built.2這個文件夾有個include和lib,把它們分別拷貝到C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC這個目錄下面的include和lib下面。 ### 二、 賣票的例子程序 ~~~ #include "stdafx.h" #include <pthread.h> #include <stdio.h> #include <Windows.h> #pragma comment(lib, "pthreadVC2.lib") // ticket count int m_nTicket = 100; // thread lock pthread_mutex_t m_tMutex = PTHREAD_MUTEX_INITIALIZER; void* thread_run(void* parm) { while(true) { //pthread_mutex_lock(&m_tMutex); if (m_nTicket>0) { Sleep(1000); printf("第%d號窗口賣出了第",pthread_self()); printf("%d張票。\n",m_nTicket); m_nTicket--; }else{ break; } //pthread_mutex_unlock(&m_tMutex); } return NULL; } int main() { pthread_t tid1; pthread_t tid2; // create two threads pthread_create(&tid1, NULL, thread_run,NULL); pthread_create(&tid2, NULL, thread_run,NULL); /*// 加入pthread_join后,主線程會一直等待直到等待的線程結束自己才結束,使創建的線程有機會執行 // 調用pthread_self()函數可以獲得自身的線程號 pthread_join(pthread_self(),NULL);*/ getchar(); return 0; } ~~~ 嘿,兩個線程賣票的例子。 這里面涉及到線程的互斥,還需要自己去琢磨。 互斥就是兩個線程使用同一個變量的時候數據可能會發生異常,這時候就要加鎖了,那個數據只能讓一個線程使用。 可以自己試驗一下。 下面是調試的結果: ![](https://box.kancloud.cn/2016-08-19_57b6ce7d59d4a.jpg) 對了,如果編譯的時候發生這個錯誤: ![](https://box.kancloud.cn/2016-08-19_57b6ce7d769ad.jpg) 在解壓出來的Pre-built.2\lib文件夾里面把這個pthreadVC2.dll復制到C:\Windows\SysWOW64這里面去,32位的就對應的復制到32位那個文件夾。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看