Vue keep-alive
阿新 • • 發佈:2021-02-04
1.執行緒的建立
pthread_create()
函式原型:
標頭檔案:pthread.h
int pthread_create(pthread_t *restrict tidp, const pthread_attr_t *restrict attr, void*(*start_rtn)(void*), void*restrict arg);
tidp: 所建立執行緒id,建立成功時村塾所建立子執行緒ID
attr:執行緒屬性,通常為NULL
start_rtn: 函式指標
arg:函式引數
返回值:成功返回0,出錯返回錯誤碼
2.執行緒的終止函式
函式原型:
void pthread_exit (void *rval_ptr);
引數:
rval_ptr: 該指標將引數傳遞給pthread_join函式
函式原型:
int pthread_cancel(pthread_t tid);
執行緒呼叫該函式就可以取消同一程序中的其他執行緒(終止執行緒)
tid:取消執行緒的ID
3.父程序等待子程序終止
int pthread_join(pthread_t thread, void **rval_ptr);
呼叫該函式的父執行緒將一直阻塞,直到子執行緒終止
引數:
thread: 需要等待的子執行緒ID
rval_ptr: 若不關心執行緒返回值,直接為空指標
若執行緒從啟動歷程返回,rval_ptr將包含返回碼
若執行緒呼叫pthread_exit函式終止,rval_ptr就是呼叫pthread_exit時傳入的引數
void *childthread*void
{
int i;
for(i=0;i<10;i++)
{
printf("childthread message\n);
sleep(100);
}
}
int main()
{
pthread_t tid;
printf("create childthread\n");
pthread_create(& tid,NULL,(void*)childthread,NULL);
pthread_join(tid,NULL);
printf("childthread exit\n");
return 0;
}