linux下編寫乙個簡單的執行緒

2021-08-19 10:17:22 字數 1789 閱讀 4506

-----建立執行緒

int pthread_create(pthread_t *thread, const pthread_attr_t *attr,

void *(*start_routine) (void *), void *arg);

thread:若建立成功則儲存被建立執行緒的執行緒控制代碼;

attr:執行緒屬性;

start_routine:執行緒處理函式;

arg:執行緒處理函式引數;

返回值:0 建立成功  非零  建立失敗

-----退出當前執行緒

void pthread_exit(void *retval);

retval:退出引數

-----等待某一線程退出

等待某一指定的執行緒退出,若未退出則阻塞

int pthread_join(pthread_t thread, void **retval);

thread:被等待退出的執行緒控制代碼;

retval:儲存退出引數;

返回值:0  成功  非零表示失敗

例程:建立乙個執行緒週期列印10次自己的執行緒控制代碼。主線程在建立執行緒後也週期列印5次自己的執行緒控制代碼,列印結束後等待子執行緒結束。

#include #include #include void* pthread_function(void *arg)

pthread_exit(null);

return null;

}int main(void)

printf("%lu:create success:%lu\n", pthread_self(), threadid);

/* 主線程列印5次執行緒控制代碼 */

for(i=0; i<5; i++)

/* 等待子執行緒結束 */

printf("%lu:wait the new pthread\n", pthread_self());

if( pthread_join(threadid, null) != 0)

printf("%lu:over\n", pthread_self());

return 0;

}

結果如下:

3075774208:create a new pthread

3075774208:create success:3075771200

3075774208:father:0

3075771200:this is a new pthread:0

3075774208:father:1

3075771200:this is a new pthread:1

3075774208:father:2

3075771200:this is a new pthread:2

3075774208:father:3

3075771200:this is a new pthread:3

3075774208:father:4

3075771200:this is a new pthread:4

3075774208:wait the new pthread

3075771200:this is a new pthread:5

3075771200:this is a new pthread:6

3075771200:this is a new pthread:7

3075771200:this is a new pthread:8

3075771200:this is a new pthread:9

3075774208:over

Linux 下編寫乙個 PHP 擴充套件

假設需求 開發乙個叫做 helloword 的擴充套件。擴充套件裡有乙個函式,helloword echo helloword tom 返回 hello world tom 本地環境php版本 5.6.9 系統 linux centos release 6.5 final 最終效果 實現流程 第一步...

編寫乙個簡單的shell

include include include include include include include include void getloginname void gethostname void getdir p printf s p int main char argv 32 char...

編寫乙個簡單的死鎖

public class dead lock1 class runnable1 implements runnable catch exception e class runnable2 implements runnable catch exception e obj1 和 obj2 都是屬於類的...