// 共享数据 互斥量
#include<list>
#include<mutex>
#include<algorithm>
#include<thread>
#include<iostream>
std::list<int> some_list;
std::mutex some_mutex;
void add_to_list(int new_value)
{
std::lock_guard<std::mutex> guard(some_mutex);
std::cout<<"thread id "<<std::this_thread::get_id()<<"\n";
some_list.push_back(new_value);
}
bool list_contains(int value_to_find)
{
std::lock_guard<std::mutex> guard(some_mutex);
return std::find(some_list.begin(),some_list.end(),value_to_find)!=some_list.end();
}
void add_to_list_multi(int new_value,int n)
{
for(int i=0;i<n;i++)
{
add_to_list(new_value);
}
}
void cout_list()
{
for(auto it=some_list.begin();it!=some_list.end();++it)
{
std::cout<<*it<<"\n";
}
}
int main()
{
std::thread t_1(add_to_list_multi,1,50);
std::thread t_2(add_to_list_multi,2,10);
t_1.join();
t_2.join();
cout_list();
return 0;
}
thread03
最新推荐文章于 2024-07-24 22:13:06 发布