int increase(int * p , int times)
{
for(int i = 0 ; i < times ; ++i)
{
++*p;
}
return 0;
}
int main()
{
int num = 0 ;
std::thread thread1(increase,&num,10000);
}
2 std::mutex(互斥锁)
C++ 11通过mutex可以方便的对临界区域加锁,std::mutex类定义于mutex头文件,是用于保护共享数据避免从多个线程同时访问的同步原语。它提供了lock,try_lock,unlock等几个接口,功能如下:
int increase(int * p , int times)
{
for(int i = 0 ; i < times ; ++i)
{
mtx.lock();
++*p;
mtx.unlock();
}
return 0;
}
int main()
{
int num = 0 ;
std::thread thread1(increase,&num,10000);
}