溫馨提示×

C++如何在Linux下進行多線程編程

小樊
38
2025-06-05 15:00:58
欄目: 編程語言

在Linux下進行C++多線程編程,主要使用C++11標準庫中的<thread>頭文件。以下是一個簡單的示例,展示了如何在Linux下使用C++11進行多線程編程:

#include <iostream>
#include <thread>

// 定義一個函數,用于在線程中執行
void print_hello() {
    std::cout << "Hello from thread!" << std::endl;
}

int main() {
    // 創建一個線程對象,將print_hello函數作為參數傳遞給它
    std::thread t(print_hello);

    // 等待線程完成
    t.join();

    std::cout << "Hello from main thread!" << std::endl;

    return 0;
}

編譯這個程序,需要使用-std=c++11選項來啟用C++11支持:

g++ -std=c++11 main.cpp -o main

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

./main

這個示例中,我們創建了一個名為t的線程對象,并將print_hello函數作為參數傳遞給它。t.join()會等待線程t完成執行。程序的輸出可能如下:

Hello from thread!
Hello from main thread!

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

除了<thread>頭文件外,C++11還提供了其他與多線程編程相關的頭文件,如<mutex>(用于互斥鎖)、<condition_variable>(用于條件變量)等。這些工具可以幫助你更好地控制線程之間的同步和通信。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女