困惑很久的问题:
问题1:
主线程,次线程区别,示例!
问题2:
当关闭窗口时,或停止正在运行的线程?如何正确去终止线程?有无可能导致界面崩溃?
问题3:
线程运行完成后,是否自动结束?如:
RecvThreadProc(LPVOID lpParam)
{
int i;
i ++;
return ;}执行结束后,线程就结束了?
最后问:
如何判别线程是否还在运行???与否是否结束?
问题1:
主线程,次线程区别,示例!
问题2:
当关闭窗口时,或停止正在运行的线程?如何正确去终止线程?有无可能导致界面崩溃?
问题3:
线程运行完成后,是否自动结束?如:
RecvThreadProc(LPVOID lpParam)
{
int i;
i ++;
return ;}执行结束后,线程就结束了?
最后问:
如何判别线程是否还在运行???与否是否结束?
主线程稍等(或用WaitForSingleObject判断其它线程已经退出), 然后退出.
主线程是main的入口,而由他创建的其他线程和main没什么区别,该函数完成后和main一样会自动结束,WIN32下,如果在未完成前程序结束,系统调用TerminateThread强制结束,不会导致界面崩溃.希望有用~~
问题1:
每个程序(进程)在被shell加载时,会自动创建一个线程(线程才是CPU调度的单位),这就是常说的主线程。由主线程创建的其他线程为次线程
问题2:
当关闭窗口时,或停止正在运行的线程?如何正确去终止线程?有无可能导致界面崩溃?
当关闭窗口时,如果线程正在运行,有可能导致界面崩溃。结束方法同意neosu的办法。
问题3:
执行结束后,线程就结束了?
执行结束,线程就自动结束
m_hThread = CreateThread();
当此线程未结束时再创建时m_hThread = CreateThread();会出现问题么?必须关闭上一线程?
m_hThread又有何用?句柄是什么?作用是??实质是?