apt-get install manpages-posix-dev
pthread_create函式
函式原型:int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine) (void *), void *arg);
函式功能:建立乙個執行緒
函式引數:pthread_t 執行緒id
pthread_attr_t 執行緒屬性,為空時使用預設屬性
start_routine 需要執行的函式
arg 傳遞給start_routine的引數
返回值: 成功返回0,失敗返回對應的錯誤型別;
說明: 1)執行緒的退出可以使用pthread_exit退出,也可以直接return退出;
2)如果建立執行緒的main函式退出,該main函式中的所有執行緒都將被銷毀;
2.pthread_join函式
函式原型:int pthread_join(pthread_t thread, void **retval);
函式功能:等待執行緒結束
函式引數:thread 執行緒id
retval 執行緒函式的返回值
返回值:成功返回0,失敗返回對應的錯誤型別
3.pthread_detach函式
函式原型:int pthread_detach(pthread_t thread);
函式功能:呼叫該函式後,執行緒在執行結束後會自動釋放系統分配的資源,而不需要呼叫pthread_join等待執行緒結束。
函式引數:thread 執行緒id
返回值:成功返回0,失敗返回對應的錯誤型別
4.pthread_exit函式
函式原型:void pthread_exit(void *retval);
函式功能:結束乙個執行緒,等同於return
函式引數:retval 需要返回的引數
返回值:無
說明:retval指向的變數不能是棧變數,因為棧變數在函式退出時會自動銷毀。
5.pthread_self()函式
函式原型: pthread_t pthread_self(void);
函式功能:獲取當前執行緒的id
函式引數:無
返回值:返回當前執行緒的id號
示例:
#include #include #include #include void posix_thread_test();
pthread_t g_pthread_id;
int main()
void *test_fn(void *param)
pthread_exit((void*)retval);
//return retval;
}void posix_thread_test()
else
ret = pthread_join(g_pthread_id,&pret);
if(0 == ret)
}
執行結果
注意上述例程中test_fn中retval是使用malloc分配的記憶體,所以在pthread_join之後需要主動釋放。
linux中線程相關函式
linux中線程相關函式 2010年03月09日 星期二 22 18 1.比較兩個執行緒 id 是否一致。執行緒id 使用 pthread t 資料型別來表示。linux 使用 unsigned long int 表示pthread t 資料型別。solaris 9 把 pthread t 資料型別...
fopen 及相關函式使用
函式簡介 函式功能 開啟乙個檔案 函式原型 file fopen const char path,const char mode 相關函式 open,fclose,fopen s 1 wfopen 所需庫 返回值 檔案順利開啟後,指向該流的檔案指標就會被返回。如果檔案開啟失敗則返回null,並把錯誤...
Linux執行緒介紹及函式操作
執行緒共享資源 乙個程序中的多個執行緒共享以下資源 1.可執行的指令 2.靜態資料 3.程序中開啟的檔案描述符 4.當前工作目錄 5.使用者id 6.使用者組id linux執行緒庫 pthread執行緒庫中提供以下操作 建立執行緒 執行緒 結束執行緒 同步和互斥機制 訊號量 互斥鎖 使用執行緒庫編...