freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

實現(xiàn)生產(chǎn)者消費者問題課程設(shè)計-文庫吧資料

2025-03-31 00:36本頁面
  

【正文】 Consumed %d\n,queue[c])。 sleep(2)。 pthread_mutex_lock(amp。 while(1) { sem_wait(amp。 srand((unsigned) time(amp。}//Consumer functionvoid *consumer(const int i){ int j。//Force type conversion parameters producer(realarg)。//Random block 04 seconds } return NULL。 p=(p + 1)%NUM。 else printf( +)。j NUM。 } printf(\nPointer:)。j NUM。 } printf(\n Value:)。j NUM。 printf( Number:)。 printf(Produce %d\n,queue[p])。product_number)。counter_mutex)。 queue[p]=p+1。counter_mutex)。blank_number)。t))。 time_t t。pthread_mutex_t counter_mutex = PTHREAD_MUTEX_INITIALIZER。int p = 0,c = 0。 sleep(rand() % 5)。counter_mutex)。product_number)。 return NULL。}生產(chǎn)者線程的函數(shù)流程圖如下:消費者線程入口函數(shù):void *consumer_thread_fun(void *arg){ int realarg = (int)arg。 sleep(rand() % 5)。 sem_post(amp。 pthread_mutex_unlock(amp。 sleep(2)。 pthread_mutex_lock(amp。}生產(chǎn)者線程處理函數(shù):void *producer(const int i){ while(1) { sem_wait(amp。//強制類型轉(zhuǎn)換參數(shù) producer(realarg)。pthread_mutex_t counter_mutex = PTHREAD_MUTEX_INITIALIZER。int p = 0,c = 0。需要設(shè)置一個信號量consumer_semaphore,初值設(shè)為0。共需要兩個Semaphore,非空這種資源,非滿這種資源,是在生產(chǎn)者之間進(jìn)行競爭的.所以,一般來說,需要鎖定臨界區(qū),就需要Mutex。應(yīng)該禁止生產(chǎn)者向滿的緩沖區(qū)送入產(chǎn)品,同時也應(yīng)該禁止消費者從空的緩沖區(qū)中取出產(chǎn)品,這一機制有生產(chǎn)者線程和消費者線程之間的互斥關(guān)系來實現(xiàn)。假定生產(chǎn)者和消費者的優(yōu)先級是相同的,只要緩沖區(qū)未滿,生產(chǎn)者就可以生產(chǎn)產(chǎn)品并將產(chǎn)品送入緩沖區(qū)。 在同一時刻只能有一個生產(chǎn)者或一個消費者使用緩沖區(qū),有互斥信號量可以控制各個生產(chǎn)者和消費者之間互斥,使得生產(chǎn)和消費的工作能夠有序的進(jìn)行,而不至于發(fā)生死鎖。當(dāng)系統(tǒng)中某一進(jìn)程使用某一資源時,可以看作是消耗,且該進(jìn)程稱為消費者。2 設(shè)計思想及系統(tǒng)平臺、語言、工具 設(shè)計思想生產(chǎn)者—消費者問題是一種同步問題的抽象描述。(2) 生產(chǎn)者和消費者各有兩個以上。
點擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1