linux编程之pthread_create函数
生活随笔
收集整理的這篇文章主要介紹了
linux编程之pthread_create函数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
linux編程之pthread_create函數UNIX環(huán)境創(chuàng)建線程函數,
具體格式:
#include<pthread.h>
int pthread_create(pthread_t *restrict tidp,const pthread_attr_t *restrict_attr,void*(*start_rtn)(void*),void *restrict arg);
返回值:
若成功則返回0,否則返回出錯編號
返回成功時,由tidp指向的內存單元被設置為新創(chuàng)建線程的線程ID。
attr參數用于制定各種不同的線程屬性。新創(chuàng)建的線程從start_rtn函數的地址開始運行,該函數只有一個無指針參數arg,如果需要向start_rtn函數傳遞的參數不止一個,那么需要把這些參數放到一個結構中,然后把這個結構的地址作為arg的參數傳入。 linux下用C開發(fā)多線程程序,Linux系統(tǒng)下的多線程遵循POSIX線程接口,稱為pthread。
#include <pthread.h>int pthread_create(pthread_t *restrict tidp, const pthread_attr_t *restrict attr, void *(*start_rtn)(void), void *restrict arg);
Returns: 0 if OK, error number on failure由 restrict 修飾的指針是最初唯一對指針所指向的對象進行存取的方法,僅當第二個指針基于第一個時,才能對對象進行存取。
對對象的存取都限定于基于由 restrict 修飾的指針表達式中。由 restrict 修飾的指針主要用于函數形參,或指向由 malloc() 分配的內存空間。
restrict 數據類型不改變程序的語義。
編譯器能通過作出 restrict 修飾的指針是存取對象的唯一方法的假設,更好地優(yōu)化某些類型的例程。
第一個參數為指向線程標識符的指針。
第二個參數用來設置線程屬性。
第三個參數是線程運行函數的起始地址。
最后一個參數是運行函數的參數。
另外,在編譯時注意加上-lpthread參數,以調用靜態(tài)鏈接庫。因為pthread并非Linux系統(tǒng)的默認庫
轉載于:https://www.cnblogs.com/yuzaipiaofei/archive/2011/07/13/4124634.html
總結
以上是生活随笔為你收集整理的linux编程之pthread_create函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Symantec Backup Exec
- 下一篇: UnisGuard防篡改产品了解