一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

pthread_cond_wait 語法

 千年長嘆 2012-03-26
多線程編程指南

pthread_cond_wait 語法

int	pthread_cond_wait(pthread_cond_t *cv,pthread_mutex_t *mutex);
#include <pthread.h>



pthread_cond_t cv;

pthread_mutex_t mp;

int ret;



/* wait on condition variable */

ret = pthread_cond_wait(&cv, &mp); 

阻塞的線程可以通過 pthread_cond_signal() 或 pthread_cond_broadcast() 喚醒,也可以在信號(hào)傳送將其中斷時(shí)喚醒。

不能通過 pthread_cond_wait() 的返回值來推斷與條件變量相關(guān)聯(lián)的條件的值的任何變化。必須重新評(píng)估此類條件。

pthread_cond_wait() 例程每次返回結(jié)果時(shí)調(diào)用線程都會(huì)鎖定并且擁有互斥鎖,即使返回錯(cuò)誤時(shí)也是如此。

該條件獲得信號(hào)之前,該函數(shù)一直被阻塞。該函數(shù)會(huì)在被阻塞之前以原子方式釋放相關(guān)的互斥鎖,并在返回之前以原子方式再次獲取該互斥鎖。

通常,對(duì)條件表達(dá)式的評(píng)估是在互斥鎖的保護(hù)下進(jìn)行的。如果條件表達(dá)式為假,線程會(huì)基于條件變量阻塞。然后,當(dāng)該線程更改條件值時(shí),另一個(gè)線程會(huì)針對(duì)條件變量發(fā)出信號(hào)。這種變化會(huì)導(dǎo)致所有等待該條件的線程解除阻塞并嘗試再次獲取互斥鎖。

必須重新測(cè)試導(dǎo)致等待的條件,然后才能從 pthread_cond_wait() 處繼續(xù)執(zhí)行。喚醒的線程重新獲取互斥鎖并從 pthread_cond_wait() 返回之前,條件可能會(huì)發(fā)生變化。等待線程可能并未真正喚醒。建議使用的測(cè)試方法是,將條件檢查編寫為調(diào)用 pthread_cond_wait() 的while() 循環(huán)。

    pthread_mutex_lock();

        while(condition_is_false)

            pthread_cond_wait();

    pthread_mutex_unlock();

如果有多個(gè)線程基于該條件變量阻塞,則無法保證按特定的順序獲取互斥鎖。


注 –

pthread_cond_wait() 是取消點(diǎn)。如果取消處于暫掛狀態(tài),并且調(diào)用線程啟用了取消功能,則該線程會(huì)終止,并在繼續(xù)持有該鎖的情況下開始執(zhí)行清除處理程序。



    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    日本精品中文字幕人妻| 熟女中文字幕一区二区三区| 欧美日韩精品视频在线| 日韩精品福利在线观看| 成人午夜视频在线播放| 久久99夜色精品噜噜亚洲av| 亚洲一区二区三在线播放 | 在线免费观看黄色美女| 国产精品内射婷婷一级二级| 成年男女午夜久久久精品| 国产香蕉国产精品偷在线观看| 午夜福利视频偷拍91| 91日韩在线观看你懂的| 香蕉网尹人综合在线观看| 亚洲免费视频中文字幕在线观看| 国产精品久久精品毛片| 丰满的人妻一区二区三区| 在线免费国产一区二区三区| 国产亚洲欧美另类久久久| 精品综合欧美一区二区三区| 国产又大又黄又粗的黄色| 2019年国产最新视频| 日韩精品在线观看完整版| 免费观看一区二区三区黄片| 国产精品美女午夜福利| 久久精品国产一区久久久| 国语对白刺激高潮在线视频| 欧美成人精品一区二区久久| 亚洲男人的天堂色偷偷| 免费在线成人激情视频| 老司机精品在线你懂的| 成年人黄片大全在线观看| 国产一区二区三区成人精品| 日韩成人中文字幕在线一区| 欧美人妻盗摄日韩偷拍| 好骚国产99在线中文| 亚洲男人天堂网在线视频| 欧美日韩久久精品一区二区| 千仞雪下面好爽好紧好湿全文| 日本人妻中出在线观看| 欧美午夜视频免费观看|

    AI助手

    阅读时有疑惑?点击向AI助手提问吧

    联系客服

    微信扫码,添加客服企业微信

    客服QQ:

    1732698931

    联系电话:4000-999-276

    客服工作时间9:00-18:00,晚上非工作时间,请在微信或QQ留言,第二天客服上班后会立即联系您。