開三個執行緒,執行緒執行時間分別為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 如...