C語言簡單的多執行緒模板及測試

2021-10-09 04:37:20 字數 2032 閱讀 1873

開三個執行緒,執行緒執行時間分別為3s、5s、8s

#include

#include

#include

#include

#include

#include

//執行緒id

pthread_t test01;

pthread_t test02;

pthread_t test03;

#define pthread_stope 0

//執行緒停止狀態

#define pthread_runing 1

//執行緒執行狀態

typedef

void

(*pthread_run)

(void*)

;typedef

struct testmuitl_pthread

testmuitl_pthread_t;

testmuitl_pthread_t *pthread;

//執行緒結構

//獲取當前時間

intgetcurtime

(char

*ptimestr)

//執行緒初始化

testmuitl_pthread_t *

pthread_create

(int sleepsec,pthread_run run,

int num)

return thread;

}//執行緒啟動

intpthread_start

(testmuitl_pthread_t *pthread,pthread_t pt_pid)

if(pthread->state == pthread_runing)if(

pthread_create

(&pt_pid,

null,(

void

*)pthread->pthread_run, pthread->arg)

) pthread->state = pthread_runing;

return rtn;

}//獲取執行緒狀態

intpthread_getstate

(testmuitl_pthread_t *pthread)

//執行緒執行函式

void

multi_pthreadfunction

(void

*arg)

; testmuitl_pthread_t *pthread =

(testmuitl_pthread_t *

)arg;

while

(pthread_getstate

(pthread)

== pthread_runing)

}/******************************************

* 函式名:pthread_function

* 功能:執行緒入口

* 入參:pthread_pid:當前執行緒id

* sleepsec:執行緒休眠時間(sec)

* thread_num:測試執行緒編號

* 出參:

* 返回值:

********************************************/

void

pthread_function

(pthread_t pthread_pid,

const

int sleepsec,

const

int thread_num)

pthread_start

(pthread,pthread_pid)

;//啟動執行緒

}//test

intmain()

測試結果:

多執行緒 簡單的執行緒建立,C語言實現

執行緒,是計算機中最小的執行單元。通常,在window應用程式執行時,作業系統都會為其自動建立乙個執行緒,即主線程。通過主線程,可以建立多個執行緒或程序。使用多執行緒,可以提高程式的執行效率。執行緒建立函式createthread 屬於api函式 函式原型為 handle createthread ...

多執行緒 簡單的執行緒建立,C語言實現

執行緒,是計算機中最小的執行單元。通常,在window應用程式執行時,作業系統都會為其自動建立乙個執行緒,即主線程。通過主 執行緒,可以建立多個執行緒或程序。使用多執行緒,可以提高程式的執行效率。執行緒建立函式createthread 屬於api函式 函式原型為 handle createthrea...

C語言多執行緒

首先多執行緒需要乙個標頭檔案進行導包 include 接下來我們需要弄乙個執行緒變數,建立到 都可以,不過推薦建立到外邊,比如pthread t th1 接下來我們開始建立執行緒,如果是大型工程的話,建議放到乙個函式裡邊,這個語句是pthread create th1,null,awm,null 如...