C#和.net中的ExitThread(ExitCode)和GetExitCodeThread相当于什么?

Hex*_*0bx 4 c# multithreading exit-code exit

阅读VS2008帮助文件我已经发现退出线程(在.net中)的简洁方法是使用return语句(在C#中)或让线程到达方法的末尾.

但是,我还没有找到允许我设置线程退出代码的方法或属性,也没有找到检索它的方法(因为它是使用Win32 API完成的).因此,问题是,我如何使用C#和.net做到这一点?

谢谢您的帮助,

约翰.

nit*_*one 7

未公开底层Win32线程基元的原因是为了防止托管代码依赖它们.CLR团队一直致力于优化线程使用的方法,并且不包括对1:1托管:非托管线程映射的保证(例如,请参阅此MSDN页面上的"注意" ).无论如何你真的想要这样做,你需要设置使用Win32 GetCurrentThread()的非托管线程句柄的P/Invoke包装器,或者使用自定义主机自己挂钩到线程映射过程.我也不建议,除非你绝对必须与使用线程退出代码的东西互操作并且不受托管代码感知.找出另一种走私状态信息的方法,如果你可以全部管理(或使用任务并行库从裸线抽象一个级别).