温馨提示×

ubuntu怎样配置c++多线程

小樊
32
2026-10-05 08:29:06
栏目: 编程语言

在 Ubuntu 上配置和使用 C++ 多线程,一般涉及三件事:

  1. 安装编译环境(g++ / clang)
  2. 使用 C++11 及以上的 <thread> 标准库
  3. 编译时正确链接线程库(-pthread)

下面一步一步说明。


一、安装 C++ 编译环境

1. 更新系统

sudo apt update
sudo apt upgrade

2. 安装 g++

sudo apt install g++ build-essential

验证:

g++ --version

二、写一个简单的 C++ 多线程示例

示例:main.cpp

#include <iostream>
#include <thread>

void hello(int id) {
    std::cout << "Hello from thread " << id << std::endl;
}

int main() {
    std::thread t1(hello, 1);
    std::thread t2(hello, 2);

    t1.join();
    t2.join();

    std::cout << "Main thread done" << std::endl;
    return 0;
}

三、编译 C++ 多线程程序(重点)

✅ 正确方式(推荐)

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

或者:

g++ -std=c++14 -pthread main.cpp -o main

运行

./main

四、常见错误说明

❌ 忘记 -pthread

可能会出现:

terminate called after throwing an instance of 'std::system_error'

✅ 解决:加 -pthread


五、CMake 配置(项目推荐)

如果是稍大一点的项目,建议用 CMake。

CMakeLists.txt

cmake_minimum_required(VERSION 3.10)
project(multithread_demo)

set(CMAKE_CXX_STANDARD 11)

add_executable(main main.cpp)
find_package(Threads REQUIRED)
target_link_libraries(main Threads::Threads)

构建

mkdir build
cd build
cmake ..
make
./main

六、可选:使用 POSIX 线程(pthread)

如果你想直接用 C 风格线程:

#include <pthread.h>

编译:

g++ main.cpp -pthread

但 推荐使用 C++ <thread>,更安全、现代。


七、调试多线程(可选)

gdb ./main

或检查线程:

htop

如果你有具体需求(如线程池、互斥锁、条件变量、生产消费模型),可以告诉我,我可以直接给你完整示例。

0 踩