<tbody id="j99e4"></tbody>

<dd id="j99e4"></dd>

  • <button id="j99e4"><object id="j99e4"></object></button>
      1. <th id="j99e4"></th>
        <button id="j99e4"><acronym id="j99e4"></acronym></button><rp id="j99e4"><object id="j99e4"><input id="j99e4"></input></object></rp>
        當前位置:首頁 > IT技術 > 編程語言 > 正文

        一個初級的線程函數
        2022-08-29 23:58:48

        一個初級的線程函數

        創建10個線程,每個線程內進行計數操作,有鎖.?

        對認識線程,有一定的幫助作用。

        #include <iostream>  // std::cout
        #include <thread>    // std::thread
        #include <mutex>     // std::mutex
        using namespace std;
        volatile int counter(0);  //定義一個全局變量,當作計數器,用于累加
        std::mutex mtx; //用于包含 counter 的互斥鎖
        void thrfunc()
        {
            for(int i=0;i<50;++i)
            {
                // 互斥鎖上鎖
                if(mtx.try_lock())
                {
                    ++counter;  // 計數器累加
                    cout<<counter<<endl;
                    mtx.unlock(); // 互斥鎖解鎖 
                }
                else
                {
                    cout <<"try_lock false"<<endl;
                }
            }
        }
        
        int main(int argc, const char* argv[])
        {
            std::thread threads[10];
            for(int i=0;i<10;++i)
            {
                threads[i] = std::thread(thrfunc); // 啟動10個線程
            }
            for(auto & th:threads)
            {
                th.join();//等待10個線程結束
            }
            cout <<"count to "<<counter<<" successfully "<<endl;
            return 0;
        }
        //g++ demo1.cpp -o demo1 -l pthread

        ?

        本文摘自 :https://www.cnblogs.com/

        亚洲人成图偷偷小说_亚洲图片小说激情综合_国产精品亚洲自在线播放页码_久久综合亚洲色hezyo国产
        <tbody id="j99e4"></tbody>

        <dd id="j99e4"></dd>

      2. <button id="j99e4"><object id="j99e4"></object></button>
          1. <th id="j99e4"></th>
            <button id="j99e4"><acronym id="j99e4"></acronym></button><rp id="j99e4"><object id="j99e4"><input id="j99e4"></input></object></rp>