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

正文內(nèi)容

物聯(lián)網(wǎng)倉(cāng)儲(chǔ)系統(tǒng)課件(編輯修改稿)

2025-01-27 21:31 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 所有的線程都按照同樣的順序去申請(qǐng)。 線程之間的通信 條件變量 int pthread_cond_init(pthread_cond_t *restrict cond,const pthread_condattr_t *restrict attr)。 ? 功能:初始化一個(gè)條件變量 ? 參數(shù): cond, 就是條件變量的標(biāo)識(shí)符 ? attr, 通常為 NULL即可 ? 返回值:成功返回 0, 失敗返回非負(fù)的錯(cuò)誤號(hào) ? int pthread_cond_wait(pthread_cond_t *restrict cond, pthread_mutex_t *restrict mutex)。 ? 功能:條件睡眠,直到被指定的條件喚醒為止 ? 參數(shù): cond, 就是指定睡眠 條件,將來(lái)被喚醒時(shí)也必須滿足該條件 ? mutex, 該函數(shù)睡眠時(shí)必須提前加上一把鎖 ? 注意:該睡眠函數(shù)調(diào)用之前必須先加上一把鎖,然后進(jìn)入睡眠,然后該函數(shù)內(nèi)部 ? 將鎖解開(kāi);當(dāng)該函數(shù)被喚醒時(shí),需要重新加上這把鎖,如果發(fā)現(xiàn)這把鎖被其他線程 ? 占用,那么該函數(shù)的喚醒操作就失敗了,繼續(xù)睡眠。 ? 返回值:成功返回 0, 失敗返回非負(fù)的錯(cuò)誤號(hào) 線程之間的通信 條件變量 ? int pthread_cond_signal(pthread_cond_t *cond)。 ? 功能:就是喚醒睡眠在 cond條件上的線程,但是只能喚醒一個(gè)線程 ? 參數(shù): cond, 就是指定要喚醒的條件 ? 返回值:成功返回 0, 失敗返回非負(fù)的錯(cuò)誤號(hào) ? int pthread_cond_broadcast(pthread_cond_t *cond)。 ? 功能:?jiǎn)拘阉兴哌@個(gè)條件上的線程 ? int pthread_cond_destroy(pthread_cond_t *cond)。 ? 功能:就是銷(xiāo)毀條件變量 處理消息隊(duì)列請(qǐng)求線程 消息對(duì)列 ? 創(chuàng)建 /打開(kāi)消息隊(duì)列對(duì)象 ? int msgget(key_t key, int flag)。 ? 參數(shù): key, ftok()函數(shù)的返回值,用于確保多個(gè)進(jìn)程操作同一個(gè)消息隊(duì)列 ? flag, IPC_CREAT IPC_EXCL 和共享內(nèi)存一樣 ? 返回值:成功返回消息隊(duì)列的標(biāo)識(shí)符, 失敗 1 ? 比如: msgget(key, IPC_CREAT|IPC_EXCL|0666); 消息對(duì)列 ? int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg)。 ? 參數(shù): msgid, msgget的返回值 ? msgp, 要發(fā)送的數(shù)據(jù)的指針,有指定的數(shù)據(jù)格式。 ? struct msgbuf { ? long mtype。 /* message type, must be 0 */ ? 數(shù)據(jù)類(lèi)型,可以自定義; /* message data */ ? int a。 char b。 float f。 ? }。 ? msgsz, 發(fā)送的消息的正文的長(zhǎng)度 == sizeof(struct msgbuf) sizeof(long) ? msgflg,IPC_NOWAIT 以非阻塞方式發(fā)送消息,如果發(fā)送不成功,那么不會(huì)阻塞,立刻返回。 ? 0(常用), 以阻塞方式發(fā)送消息,如果發(fā)送不成功,那么阻塞等待,直到發(fā)送成功為止。 ? 返回值:成功 0, 失敗 1 消息隊(duì)列 ? ssize_t msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg)。 ? 參數(shù): msqid, msgget的返回值 ? msgp, 用于接收讀取到的消息,固定格式,必須和發(fā)送的類(lèi)型保持一致。 ? msgsz, 仍然要接收的消息的正文長(zhǎng)度 ? msgtyp, ? 0, 表示讀取第一條消息 ? 0, 表示讀取指定類(lèi)型消息 (最常用 ) ? 0, 接收消息隊(duì)列中類(lèi)型值不小于 msgtyp的絕對(duì)值且類(lèi)型值又最小的消息 ? msgflg, ? IPC_NOWAIT 以非阻塞方式接收消息,如果接收不成功,那么不會(huì)阻塞,立刻返回。 ? 0(常用), 以阻塞方式接收消息,如果接收不成功,那么阻塞等待,直到接收成功為止。 ? 返回值:實(shí)際接收到的消息的正文的字節(jié)個(gè)數(shù) , 失敗 1. 消息對(duì)列 ? 消息隊(duì)列的控制函數(shù) ? int msgctl ( int msgqid, int cmd, struct msqid_ds *buf )。 ? 參數(shù): ? msgqid, 就是控制的消息隊(duì)列 ? cmd : ? IPC_STAT (獲取對(duì)象屬性 ), 屬性保存在第三個(gè)參數(shù)上 ? IPC_SET (設(shè)置對(duì)象屬性 ),第三個(gè)參數(shù)保存的是要修改的屬性 ? IPC_RMID (刪除對(duì)象 ), 此時(shí)第三個(gè)參數(shù)為 NULL即可 ? 返回值:返回值和 cmd有關(guān)系, 失敗 1. 共享內(nèi)存 睡 眠接 收 數(shù) 據(jù)刷 新 到 共 享 內(nèi) 存 中共享內(nèi)存 ? 共享內(nèi)存:是一種最為高效的進(jìn)程間通信方式,進(jìn)程可以直接讀寫(xiě)內(nèi)存,而不需要任何數(shù)據(jù)的拷貝 ? 注意:由于多個(gè)進(jìn)程共享一段內(nèi)存,因此也需要
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1