联系多线程:
假设有1000张票需要出售,我们安排两个售票窗口工作。必然的这里涉及到的是两个窗口同步的运行,即是多线程的同步。
static int count=1000;
pthread_mutex_t ticket_lock=PTHREAD_MUTEX_INITALIZER;//互斥量
定义好售票的函数:
void *sell0(void *arg)
{
while(count>0)
{
pthread_mutex_lock(&ticket_lock);
if(count>0)
cout<<"The 1 thread"<<" sell the "<<count--<<" ticket"<<endl;
pthread_mutex_unlock(&ticket_lock);
}
cout<<"Sell all ticket!\n";
return((void*)0);
}
void *sell01(void *arg)
{
while(count>0)
{
pthread_mutex_lock(&ticket_lock);
if(count>0)
cout<<"The 2 thread"<<" sell the "<<count--<<" ticket"<<endl;
pthread_mutex_unlock(&ticket_lock);
}
cout<<"Sell all ticket!\n";