1. 程式人生 > 其它 >Vue keep-alive

Vue keep-alive

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將包含返回碼

若執行緒被取消,rval_ptr指向的記憶體單元值置為PTHREAD_CANCELED
若執行緒呼叫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; }