多執行緒(零) 入門 乙個最簡單的多執行緒程式

2022-09-23 17:24:16 字數 1058 閱讀 7594

[cpp]  #include   

#include   

void thread(void)  

int main(void)  

int i; 

printf("this is the main process.\n"); 

pthread_join(id, null); 

return 0; 

} #include

#include

void thread(void)

int main(void)

int i;

printf("this is the main process.\n");

pthread_join(id, null);

return 0;

}函式說明:

int pthread_create(pthread_t*restrict tidp,const pthread_attr_t *restrict_attr,void*(*start_rtn)(void*),void *restrict arg);

此函式接受四個引數,分別為指向執行緒識別符號的指標、執行緒屬性、執行緒執行函式的起始位址、執行函式的引數。第二個和第四個引數暫時都為null,以後也許會修改。

若此函式執行成功,則返回0,否則返回錯誤編號。

pthread_t用於宣告執行緒id。

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

此函式以阻塞的方式等待thread指定的執行緒結束。當函式返回時,被等待執行緒的資源被收回。如果程序已經結束,那麼該函式會立即返回。在這裡的意思是主函式在等待執行緒都結束後才退出,如果不加這個函式的話,主函式執行完自己的**程式就終止了,不在乎執行緒是否也執行結束。

第乙個引數為執行緒id,標識唯一執行緒。第二個引數為使用者定義的指標,用來儲存被等待執行緒的返回值。

若此函式執行成功,則返回0。否則返回錯誤編號。

注:編譯時要加上-lpthread,如果允許使用gdb除錯的話,還要加上-g

gcc -o homework1 homework1.c -lpthread

乙個簡單的多執行緒

頭部 type tmythread class tthread protected procedure execute override end procedure tmythread.execute begin coinitialize nil 如果不加這句,會提示未呼叫coinitialize ...

多執行緒簡單入門

目錄 多執行緒簡單入門 執行緒和程序 多執行緒作用 應用場景 多執行緒的幾種狀態 多執行緒的幾種實現方式 繼承thread類。實現runnable介面 實現callable 使用匿名內部類建立執行緒 程序相當於n個執行緒。例如 每個軟體啟動後就相當於乙個程序,裡面多個模組就相當於多個執行緒。程序是執...

C 多執行緒的乙個簡單應用(C 多執行緒相關)

開的執行緒要放在主線程邏輯前否則並不會利用好主線程資源 用join來等待執行緒結束 可以通過mainthreadid std this thread get id 來獲取主函式id,通過auto id s.get id 來獲取子執行緒id,判斷兩個id來確定自己當前函式是執行在主線程還是分執行緒 f...