91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

解決進程同步中熟睡的理發師問題 包含源代碼與輸出結果

資源截圖

代碼片段和文件信息

#include?
#include?
#include?
#include?

#define?TRUE?1
#define?FALSE?0

//?最大椅子數
#define?MAX_CHAIR?5
//?最大顧客數
#define?MAX_CUSTOMERS?20

//?定義p、v操作
#define?p(x)?sem_wait(&x)
#define?v(x)?sem_post(&x)

//?椅子
int?chair;
//?理發師和顧客信號量
sem_t?baber?customers;
//?互斥信號量?保護臨界區(即椅子)
pthread_mutex_t?chair_mutex;

//?初始化椅子數和信號量
int?init()
{
????chair?=?MAX_CHAIR;
????return?(sem_init(&baber?0?1)?||?sem_init(&customers?0?0));
}

//?理發師線程函數
void*?_baber(void?*arg)
{
????printf(“the?baber?shop?opens...\n\n“);
????while?(TRUE)
????{
????????p(customers);?//?嘗試為一位顧客服務,否則睡覺
????????//?printf(“baber?wake?up...\n“);
????????pthread_mutex_lock(&chair_mutex);
????????++chair;????//?一個顧客去理發,空出一個椅子
????????printf(“the?baber?is?working?on?one...\nso?the?chair?left?:?

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????2374??2018-05-05?03:54??baber.c
?????文件????????2561??2018-05-05?03:57??baber.txt

評論

共有 條評論