頭檔案,函式原型,說明,返回值,錯誤,
頭檔案
#include <semaphore.h>
函式原型
int sem_post(sem_t *sem);
說明
sem_post函式的作用是給信號量的值加上一個“1”,它是一個“原子操作”---即同時對同一個信號量做加“1”操作的兩個執行緒是不會衝突的;而同 時對同一個檔案進行讀、加和寫操作的兩個程式就有可能會引起衝突。信號量的值永遠會正確地加一個“2”--因為有兩個執行緒試圖改變它。 當有執行緒阻塞在這個信號量上時,調用這個函式會使其中一個執行緒不在阻塞,選擇機制是有執行緒的調度策略決定的。
返回值
sem_post() 成功時返回 0;錯誤時,信號量的值沒有更改,-1 被返回,並設定 errno 來指明錯誤。
錯誤
EINVAL
sem 不是一個有效的信號量。
EOVERFLOW
信號量允許的最大值將要被超過。