我对Symbian中的Thread Termination的定义感到有点沮丧。如果我错了,请纠正我。 Symbian OS中的线程可以通过4种不同的方式终结它们的生命:
我的问题是:这四种情况中的哪一种对应于'线程终止'?
PS:我在探索Symbian文档中的“关键线程”定义时提出了这个问题。也许这extract可能会有所帮助。
答案 0 :(得分:2)
所有这些。 SDK documentation完全指定了它:
线程的死亡(和任何 随后的通知等)是 实际上只是一个迹象 线程永远不会再执行了 码;它不保证 操作系统尚未完成 删除线程。
现在,如果您正在检查RThread::ExitType
,您将找到以下信息:
EExitKill
线程或进程因终止而终止,即已在Kill()
或RThread
句柄上调用RProcess
。或者线程因调用User::Exit()
而结束。
EExitTerminate
线程或进程因终止而终止,即已在Terminate()
或RThread
句柄上调用RProcess
。
EExitPanic
线程或进程被惊慌失措。
EExitPending
线程或进程处于活动状态。
对于案例3中的案例1,2和Kill
,您将获得EExitKill
。其他案例则不言自明。