#include <iostream>
#include <mutex>
#include <thread>
int sum = 0;
void thread_func(int num) {
static std::mutex mutex;
std::lock_guard<std::mutex> lock(mutex);
sum += num;
std::cout << num << "," << sum << std::endl;
}
void Test() {
for (int i = 0; i < 10; i++) {
std::thread thread(thread_func, i);
thread.join();
}
}
void thread_func1(int num) {
static std::mutex mutex;
std::unique_lock<std::mutex> lock(mutex);
sum += num;
lock.unlock();
std::cout << num << "," << sum << std::endl;
}
void Test1() {
for (int i = 0; i < 10; i++) {
std::thread thread(thread_func1, i);
thread.join();
}
}
int main() {
Test1();
return 0;
}