執行緒中建立新執行緒,退出機制
程式:#include
#include
#include
#include
pthread_t son_t = 0;
void cleanup(void*)
'`"); //這一句是找出本程序的所有執行緒.
}printf("clean\n");
}void son_cleanup(void*)
void* test_son(void*)
pthread_cleanup_pop(0);
return null;
}void* test_pthread(void*)
'`");
sleep(5);
// printf("aaa\n");
// pthread_testcancel();
// printf("bbb\n");
// printf("ccc\n");
// sleep(5);
// printf("ddd\n");
// pthread_testcancel();
// system("ls");
}pthread_cleanup_pop(0);
return null;
}int main()
'`");}}
sleep(1);
}執行結果:
[user:lib_hdmanage] ./example/main.i386.elf
counter:1
sonpid tty time cmd
13052 pts/7 00:00:00 main.i386.elf
- - 00:00:00 - //主線程
- - 00:00:00 - //test_pthread
- - 00:00:00 - //test_son
counter:2
soncounter:3
son clean
pid tty time cmd
13052 pts/7 00:00:00 main.i386.elf
- - 00:00:00 - //主線程
- - 00:00:00 - //test_pthread
clean
pid tty time cmd
13052 pts/7 00:00:00 main.i386.elf
- - 00:00:00 -//主線程
counter:4
counter:5
counter:6
counter:7
counter:8
counter:9
建立新執行緒
在進行多執行緒程式設計的時候,我們經常用到afxbeginthread函式來啟動一條執行緒 該函式使用起來非常的簡單方便,其定義如下 cwinthread afxbeginthread afx threadproc pfnthreadproc,執行緒函式位址 lpvoid pparam,執行緒引數 ...
多執行緒 建立新執行緒
執行緒是 的執行序列或者執行路徑。執行緒與程序的概念有一些類似,它類似於乙個輕量級的程序 乙個作業系統可以執行多個程序,乙個程序內可以執行多個執行緒。每個應用程式至少執行在乙個執行緒上。當只有乙個執行緒時,稱作單執行緒應用程式,該執行緒由系統自動建立。下面看乙個簡單單執行緒例子 如上圖,本短程式從入...
MFC中開啟新執行緒
afxbeginthtead createthread cwinthread afxbeginthread cruntimeclass pthreadclass,int npriority thread priority normal,uint nstacksize 0,dword dwcreate...