4.9创建 3 个线程同时打印数字(有 mutex 管理输出)

#include <iostream>
#include <thread>
#include <mutex>

std::mutex cout_mutex;

void printNumbers(int id) {
    for (int i = 0; i < 5; ++i) {
        std::lock_guard<std::mutex> lock(cout_mutex);
        std::cout << "Thread " << id << " prints: " << i << std::endl;
    }
}

int main() {
    std::thread t1(printNumbers, 1);
    std::thread t2(printNumbers, 2);
    std::thread t3(printNumbers, 3);

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

    return 0;
}
posted @ 2025-04-09 22:37  五冬夜  阅读(5)  评论(0)    收藏  举报