最近喜欢听大学听到的老歌,deutschland 德国世界杯时候流行的,据说不是主题曲但是比主题曲还要火。
本篇进入难点了,mutex互斥锁概念,mutex=mutual exclusion的缩写,顺便说一句:以前老师都爱用缩写,也不跟同学说全称,这尼玛能理解深刻么!下文是用法:
#include <iostream>
#include <pthread.h>//按规矩不能少
using namespace std;
#define NUM_THREADS 5
int sum = 0;//定义个全局变量,让所有线程进行访问,这样就会出现同时写的情况,势必会需要锁机制;
pthread_mutex_t sum_mutex;
void* say_hello(void* args)
{
cout << "hello in thread " << *((int *)args) << endl;
pthread_mutex_lock (&sum_mutex);//修改sum就先加锁,锁被占用就阻塞,直到拿到锁再修改sum;
cout << "before sum is " << sum << " in thread " << *((int *)args) << endl;
sum += *((int *)args);
cout << "after sum is " << sum << " in thread " << *((int *)args) << endl;