Linux建立子執行緒

2021-07-11 23:09:06 字數 975 閱讀 4114

建立乙個子執行緒函式  

******* utili.h *****************

#include

#include

#include

#include

using namespace std;

****** pthread.h ***************

#include "utili.h"

void* thread_fun(void *arg)

printf("this is child id = %d\n", pthread_self()); //pthread_self()是取的自己執行緒的id(unix 網路程式設計第二卷408頁)

int n = *(int *)arg;

for(int i = 0; i < n; ++i)

printf("this is child thread.\n");   

int main(void)

pthread_t tid; //系統內部定的pthread_t 型別為unsigned long int

//相當於先申請一塊記憶體,用於存放生成的執行緒的tid 號

int n = 5;

//呼叫系統的執行緒建立函式 

pthread_create(&tid, null, thread_fun, &n); //建立乙個子執行緒,n 是傳給子執行緒函式的引數

sleep(1);

for(int i = 0; i <10; ++i)

printf("this is main thread.\n");

char *retval;

pthread_join(tid, (void **)retval); //阻塞函式,等待乙個執行緒的結束,一值到被等待的執行緒結束為止

printf("child thread exit code :> %d\n",*retval);//列印執行緒的退出值

return 0;

子執行緒建立Handler

朋友跳槽,面試時被問到子執行緒可以建立handler嗎?對於這個問題,其實我也是有點疑惑,暫且不論子執行緒建立handler的應用場景,對於能不能建立這個事情我還是比較好奇的,作為一名愛較真的程式猿,馬上開啟androidstudio寫個demo測試。new thread start 經過驗證直接採...

linux建立執行緒 建立Linux核心執行緒

執行緒 thread 是作業系統能夠進行運算排程的最小單位。它被包含在程序之中,是程序中的實際運作單位。乙個執行緒指的是程序中乙個單一順序的控制流,乙個程序中可以併發多個執行緒,每個執行緒並行執行不同的任務。很多時候會需要在後台執行一些任務,比如做乙個需要實時監控某個模組狀態的debug功能,這種任...

子執行緒中建立handler

方法1 android顯示操作介面,需要在主線程中執行 不在主線程中需要在handler中執行 looper.prepare myhandler new handler new handler.callback looper.loop 必須開始looper但是開啟的時刻可以自己控制 方法2 publ...