我在Visual studio C++中做了一些多线程编程,使用了beginthreadex,endthreadex调用。
我创建了一个子线程thread1。子线程运行在一个永远不会退出的函数上,因为它有一个无限循环。现在,如果父线程因错误而终止或成功完成,子线程是否也会退出?我的疑问是--是否存在子线程即使在主程序退出后仍处于活动状态的情况?对于linux,这种情况应该是怎样的呢?
我有一个由于SEGV而崩溃的多线程进程,GDB显示了这个看起来很奇怪的回溯:#0 0x00000000 in ??()
这是一个已经退出但尚未加入的线程。我能相信这个回溯吗?尽管这个线程已经结束了,但它真的被调度了吗?所有其他线程似乎都处于可感知状态。这是在运行Linux内核3.10的ARM嵌入式系统上。