#include int mkdir(const char *pathname, mode_t mode);
所指定的檔案訪問許可權mode有程序的檔案模式闖將遮蔽字修改。即umask();
mode_t 用數字指定時應用八進位制,前導0;
umask(0);
mkdir("creatdir", 0775);
「條件變數本身室友互斥量保護的。執行緒在改變條件狀態之前必須先鎖住互斥量。因為互斥量必須在鎖定以後才能計算條件。」
「傳遞給_wait的互斥量對條件進行保護。呼叫者把鎖住的互斥量傳給函式。」-> _wait 和 _lock配合使用。
「函式然後自動吧呼叫執行緒放到等待條件的執行緒列表上,對互斥量解鎖。」-> _wait 計算條件時,互斥量是unlock狀態。若條件不滿足,則執行緒掛起,不佔任何cpu週期。
「_wait 返回時,互斥量再次被鎖住。」
pthread_cond_timedwait();
pthread_cond_wait(); 還包括_signal(),_broadcast(),在這些函式操作之前,都要_lock互斥量。
_signal()至少喚醒乙個執行緒,_broadcast()喚醒全部執行緒
pthread_cond_wait()
必須與pthread_mutex 配套使用。
pthread_cond_wait()
函式一進入wait狀態就會自動release mutex。當其他執行緒通過
pthread_cond_signal()
或pthread_cond_broadcast
,把該執行緒喚醒,使
pthread_cond_wait()通過(返回)時,該執行緒又自動獲得該
mutex
。深入理解pthread_cond_wait、pthread_cond_signal
pthread_mutex_destroy()用於登出乙個互斥鎖,api定義如下: int pthread_mutex_destroy(pthread_mutex_t *mutex) 銷毀乙個互斥鎖即意味著釋放它所占用的資源,且要求鎖當前處於開放狀態。由於在linux中,互斥鎖並不占用任何資源,因此linuxthreads中的pthread_mutex_destroy()除了檢查鎖狀態以外(鎖定狀態則返回ebusy)沒有其他動作。
APUE的小問題
檢視下面的幾個小例子,分析linux中怎麼區分引數的個數的 程式中設定了引數為2否則出錯 administrator gzhang gzhang day09 a.exe 1 argv 1 1 read and write administrator gzhang gzhang day09 a.exe...
C語言 精華小問題記錄
在知乎中看到乙個回答,說到了1987年國際c語言混亂 大賽獲獎的一行 只有一行,卻窮盡了c中的精華。main 看了一下,記錄一下,防止以後忘記了,以下是根據原文章的描述加上自己的理解,以自己容易懂的方式重寫了一下。此處為斜槓 轉義字元的用處參考鏈結。define unix 1 intmain 對了,...
遇到的幾個小問題,記錄下
1 往資料庫裡插入新的資料,判斷是否存在,呼叫的儲存過程 create proc dbo n inserttemplate temenaglishname nvarchar 50 tempurl varchar 50 staticpageurl varchar 200 asdeclare rows ...