中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

C++多線程執行如何實現

c++
小樊
86
2024-08-30 00:06:48
欄目: 編程語言

在 C++ 中,可以使用` 庫來實現多線程執行。下面是一個簡單的示例,展示了如何創建和管理線程:

#include<iostream>
#include<thread>
#include<vector>

// 線程函數
void thread_function(int n) {
    std::cout << "Thread " << n << " is running."<< std::endl;
}

int main() {
    // 創建線程對象
    std::vector<std::thread> threads;

    // 啟動 5 個線程
    for (int i = 0; i < 5; ++i) {
        threads.push_back(std::thread(thread_function, i));
    }

    // 等待所有線程完成
    for (auto& th : threads) {
        th.join();
    }

    return 0;
}

這個示例中,我們首先包含了 和<vector> 頭文件。然后定義了一個名為 thread_function 的線程函數,該函數接受一個整數參數并輸出線程信息。

main() 函數中,我們創建了一個 std::vector<std::thread> 類型的變量 threads,用于存儲線程對象。接下來,我們使用一個循環來啟動 5 個線程,每個線程都調用 thread_function 函數。最后,我們使用另一個循環來等待所有線程完成(通過調用 join() 方法)。

要編譯和運行此示例,請確保你的編譯器支持 C++11 或更高版本的標準。在命令行中,可以使用以下命令進行編譯:

g++ -std=c++11 -o multithreading_example multithreading_example.cpp -pthread

然后運行生成的可執行文件:

./multithreading_example

這將輸出類似以下內容:

Thread 0 is running.
Thread 1 is running.
Thread 2 is running.
Thread 3 is running.
Thread 4 is running.

請注意,線程的執行順序可能會有所不同,因為它們是并發運行的。

0
瓦房店市| 久治县| 修文县| 衢州市| 德化县| 张北县| 陆丰市| 二连浩特市| 西乌珠穆沁旗| 墨江| 金门县| 平乐县| 霍邱县| 娄底市| 黄龙县| 嘉义县| 孝义市| 凤阳县| 西平县| 浦北县| 丰顺县| 许昌市| 苍山县| 长沙县| 汝州市| 闽侯县| 石狮市| 平泉县| 保德县| 延长县| 资中县| 抚州市| 柯坪县| 广丰县| 岚皋县| 孝昌县| 太谷县| 公安县| 武强县| 庆云县| 江北区|