程序間 對共享資源的訪問 互斥 機制

2021-07-03 22:14:10 字數 1309 閱讀 3933

分類: linux程式設計

2010-05-04 19:21

4291人閱讀收藏 

舉報linux

null測試

把源**執行一遍就知道了

[cpp]view plain

copy

#include    

#include    

#include    

#include    

#include    

#include    

pthread_mutex_t* g_mutex;  

//建立共享的mutex

void

init_mutex(

void

)    

//設定attr的屬性

pthread_mutexattr_t attr;  

pthread_mutexattr_init(&attr);  

//一定要設定為pthread_process_shared

//具體可以參考

ret=pthread_mutexattr_setpshared(&attr,pthread_process_shared);  

if( ret!=0 )  

pthread_mutex_init(g_mutex, &attr);  

}  int

main(

intargc, 

char

*argv)  

pid_t pid;  

pid=fork();  

if( pid<0 )  

else

if( 0==pid )  

sleep(10);//測試是否能夠阻止父程序的寫入

write(fd, str1, sizeof

(str1));  

ret=pthread_mutex_unlock(g_mutex);    

if( ret!=0 )  

}  else

write(fd, str2, sizeof

(str2));  

ret=pthread_mutex_unlock(g_mutex);    

if( ret!=0 )  

}  wait(null);  

munmap(g_mutex, sizeof

(pthread_mutex_t));  

}  

執行後tmp檔案內容為:

this is child process

this is father process

Linux下的多程序間共享資源的互斥訪問

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!include include include include include include pthread mutex t g mutex 建立共享的mutex void init mutex void 設定attr的屬性 pthread mu...

程序之間的共享資源的互斥訪問

一.檔案鎖 獲取鎖,如果已經被占用立即返回,errno被設定為eagain inttry lock fd int fd 獲取鎖,如果已經被占用則等待 intlock fd int fd 釋放檔案鎖即返回,errno被設定為eagain intunlock fd int fd 二.共享記憶體 記憶體訊...

對工作組計算機訪問域環境下共享資源的不同結果的思考

第一種情況 03域環境下訪問檔案伺服器 用unc路徑 x.x.x.x 無需輸入域賬戶即可看到共享檔案 夾,但雙擊資料夾時提示錯誤,無法訪問。第二種情況 08r2域環境下訪問檔案伺服器 用unc路徑 x.x.x.x 提示需要輸入域使用者賬戶,當輸入 正確的賬戶後可檢視此賬戶許可權對應的資料夾。以上兩種...