int pthread_create (pthread_t *pthread,
const pthread_attr_t *pattr,
void*(
*start_routine)
(void*)
,void
*arg)
;
函式說明:建立乙個執行緒;
引數說明:
引數一:執行緒id,建立執行緒時,為每乙個執行緒分配乙個id。
引數二:執行緒屬性,後面詳細介紹執行緒屬性。
引數三:執行緒函式,注意該函式返回值必須為void* 且引數同樣也只能是void*。
引數四:傳遞給執行緒函式的引數。
簡單的執行緒程式
#include
#include
#include
#include
#define num_threads 8
void
*printhello
(void
*args)
intmain
(void)}
sleep(5
);for( t =
0; t < num_threads; t++
)pthread_join
(thread[t]
,null);
return exit_success;
}
$ gcc thread_test.c -o thread_test -std=c99 -pthread
$ ./thread_test
creating thread 0
creating thread 1
creating thread 2
creating thread 3
creating thread 4
creating thread 5
creating thread 6
creating thread 7
hello from thread 8
hello from thread 8
hello from thread 8
hello from thread 8
hello from thread 8
hello from thread 8
hello from thread 8
hello from thread 8
linux c語言高階程式設計 執行緒基礎
程式 二進位制檔案,存放在磁碟上面的檔案 程序 正在執行的程式,它處在記憶體中,乙個程序可以被載入無數次 執行緒 程序的最小活動單元,乙個程序中可以有多個執行緒,至少有乙個執行緒那就是main函式本身 就緒 執行緒即將要執行。可能是剛建立,也可能是剛從阻塞狀態喚醒。執行 執行緒正在被執行。單處理器中...
linux c語言查詢指定程式pid
工作上需要向特定程序傳送user2訊號,查詢程序時找到乙個已經封裝好的介面,做個備忘。做為其它程式介面是在程式中加入 include pidof.h 關聯是加上pidof.c就可以了。如果做為單獨程式來使用,將.c中的 include pidof.h 注掉就能編了。ifndef pidof h de...
Linux C 乙個執行緒池的簡單實現
這是對pthread執行緒的乙個簡單應用 1.實現了執行緒池的概念,執行緒可以重複使用。2.對訊號量,互斥鎖等進行封裝,業務處理函式中只需寫和業務相關的 3.移植性好。如果想把這個執行緒池 應用到自己的實現中去,只要寫自己的業務處理函式和改寫工作佇列資料的處理方法就可以了。sample 主要包括乙個...