#include*
**int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine) (void ), void arg);
#include
#include
#include
#include
#include
#include
void
sys_err
(const
char
*str)
void
*tfn
(void
*arg)
intmain
(int argc,
char
*ar**)
return0;
}
*void pthread_exit(void retval); 退出當前執行緒
int pthread_join(pthread_t thread, voidretval); 阻塞 **執行緒。
示例
#include
#include
#include
#include
#include
#include
struct thrd
;void
sys_err
(const
char
*str)
void
*tfn
(void
*arg)
intmain
(int argc,
char
*ar**)
int pthread_cancel(pthread_t thread); 殺死乙個執行緒。 需要到達取消點(儲存點)
thread: 待殺死的執行緒id
返回值:成功:0
失敗:errno
如果,子執行緒沒有到達取消點, 那麼 pthread_cancel 無效。
我們可以在程式中,手動新增乙個取消點。使用 pthread_testcancel();
成功被 pthread_cancel() 殺死的執行緒,返回 -1.使用pthead_join **。
int pthread_detach(pthread_t thread); 設定執行緒分離
執行緒控制原語
程序控制原語
pthread_create()
fork()
pthread_self()
getpid()
pthread_exit()
exit()
pthread_join
wait()/waitpid()
pthread_cancel()
kill()
pthread_detach()
《Linux系統程式設計 執行緒池》
在傳統伺服器結構中,常是有乙個總的監聽執行緒監聽有沒有新的使用者連線伺服器,每當有乙個新的使用者進入,伺服器就開啟乙個新的執行緒使用者處理這 個使用者的資料報。這個執行緒只服務於這個使用者,當使用者與伺服器端關閉連線以後,伺服器端銷毀這個執行緒。然而頻繁地開闢與銷毀執行緒極大地占用了系統的資源,而且...
Linux系統程式設計 執行緒基礎
執行緒的概念 執行緒是程序內部的一條執行序列,或者執行流。每個程序至少有一條執行緒,稱之為主線程。從 的角度看,就是main函式的函式體。在主線程中可以通過執行緒庫建立其他函式執行緒。在同乙個程序中的執行緒都是併發執行的,並且執行緒的執行順序由系統決定。主線程和函式執行緒沒有本質的區別,只是主線程是...
linux 系統程式設計 5 執行緒
目錄7.3 設定執行緒屬性 參考乙個程序至少需要乙個執行緒作為它的指令執行體,程序管理著資源 比如cpu 記憶體 檔案等等 而將執行緒分配到某個cpu上執行 新的執行執行緒將擁有自己的棧,但與它的建立者共享全域性變數 檔案描述符 訊號處理函式和當前目錄狀態 特點 使用pthread create建立...