概述:在C++中,通过互斥锁解决并发数据同步问题。定义共享数据和互斥锁,编写线程函数,使用互斥锁确保操作的原子性。主函数中创建并启动线程,保障线程安全。实例源代码演示了简单而有效的同步机制。
在C++中解决并发操作时的数据同步问题通常需要使用互斥锁(Mutex)来确保线程安全。以下是详细的步骤以及附带的源代码示例:
步骤1:包含必要的头文件
- #include <iostream>
- #include <thread>
- #include <mutex>
复制代码 步骤2:定义共享数据和互斥锁
- // 共享的数据
- int sharedData = 0;
- // 互斥锁,用于保护共享数据
- std::mutex mutex;
复制代码 步骤3:编写线程函数
[code]void threadFunction(int threadId) { for (int i = 0; i < 5; ++i) { // 使用互斥锁保护共享数据 std::lock_guard lock(mutex); // 对共享数据进行操作 sharedData++; // 输出当前线程对共享数据的操作 std::cout |