linux C 多執行緒獲取字元輸入方法

2021-07-11 21:29:16 字數 496 閱讀 1391

#define read_buf_len 8

pthread_t ltestthread;

static void *dotestthreadfunc(void *parg)

{ char acbuf[read_buf_len];

char ccounti;

int ntestdata;

while(1)

{ memset(acbuf, 0, read_buf_len);

printf("input:");

fgets(acbuf, read_buf_len, stdin);

for(ccounti=0; ccounti

容易出錯的地方:

1)必須明確使用 fgets 的長度,謹慎使用 strlen() 函式,當沒有輸入時,strlen() 獲取到的長度就為 0,是錯的;

2)執行緒互斥鎖只能鎖臨界資源,不能鎖再執行緒 while(1) 外面,容易導致死鎖;

linux C 多執行緒

標頭檔案 include 執行緒建立 pthread create 執行緒退出 pthread exit 互斥鎖 pthread mutex init pthread mutex lock pthread mutex unlock void thread function void arg if 0...

linux C 多執行緒程式設計

1.solaris vs.linux posix 庫 solaris 庫 lib 執行緒 linux posix 庫 libp 執行緒 操作sema destroy sem destroy 銷毀訊號狀態。sema init sem init 初始化訊號。sema post sem post 增加訊號...

linux C 多執行緒程式設計

1.solaris vs.linux posix 庫 solaris 庫 lib 執行緒 linux posix 庫 libp 執行緒 操作sema destroy sem destroy 銷毀訊號狀態。sema init sem init 初始化訊號。sema post sem post 增加訊號...