linux

c++在linux多线程怎样

小樊
81
2024-12-04 01:18:38
栏目: 编程语言

在 Linux 系统下使用 C++ 开发多线程程序,你可以使用 C++11 标准库中的 <thread> 头文件

  1. 包含头文件:
#include <iostream>
#include <thread>
  1. 创建一个函数,该函数将在新线程中运行:
void print_hello() {
    std::cout << "Hello from thread " << std::this_thread::get_id() << std::endl;
}
  1. main 函数中创建线程对象,并将目标函数传递给线程对象:
int main() {
    // 创建线程对象,目标函数为 print_hello
    std::thread t(print_hello);

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

    return 0;
}
  1. 编译并运行程序:
g++ -std=c++11 -pthread your_file_name.cpp -o your_executable_name
./your_executable_name

在这个例子中,我们创建了一个名为 print_hello 的函数,它将在新线程中运行。我们在 main 函数中创建了一个 std::thread 对象,并将 print_hello 函数作为目标函数传递给它。然后我们调用 join() 方法等待线程完成。

这只是一个简单的示例,你可以根据需要创建更多的线程,并在它们之间共享数据或进行同步。为了实现这些功能,你可以使用 C++ 标准库中的其他头文件,如 <mutex><condition_variable><future> 等。

0
看了该问题的人还看了