Linux???????????????mutex??
???????????? ???????[ 2013/7/2 10:45:29 ] ????????
???????????????????????????????о????????????????????
#include <iostream>
#include <queue>
#include <cstdlib>
#include <unistd.h>
#include <pthread.h>
using namespace std;
pthread_mutex_t mutex;
queue<int> product;
void * produce(void *ptr)
{
for (int i = 0; i < 10; ++i)
{
pthread_mutex_lock(&mutex);
product.push(i);
pthread_mutex_unlock(&mutex);
//sleep(1);
}
}
void * consume(void *ptr)
{
for (int i = 0; i < 10;)
{
pthread_mutex_lock(&mutex);
if (product.empty())
{
pthread_mutex_unlock(&mutex);
continue;
}
++i;
cout<<"consume:"<<product.front()<<endl;
product.pop();
pthread_mutex_unlock(&mutex);
//sleep(1);
}
}
int main()
{
pthread_mutex_init(&mutex?? NULL);
pthread_t tid1?? tid2;
pthread_create(&tid1?? NULL?? consume?? NULL);
pthread_create(&tid2?? NULL?? produce?? NULL);
void *retVal;
pthread_join(tid1?? &retVal);
pthread_join(tid2?? &retVal);
return 0;
}
???н?????£?
consume:0
consume:1
consume:2
consume:3
consume:4
consume:5
consume:6
consume:7
consume:8
consume:9
????????????consume???ж??????????????????????????????????е??????????????CPU????????????????????????????????
??????
???·???
??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44???????????????
2021/9/17 15:19:29???·???????·
2021/9/14 15:42:25?????????????
2021/5/28 17:25:47??????APP??????????
2021/5/8 17:01:11