c#中ExitThread(ExitCode)和GetExitCodeThread的等价函数是什么?. net

本文关键字:函数 是什么 net GetExitCodeThread ExitThread ExitCode | 更新日期: 2023-09-27 17:49:39

阅读VS2008帮助文件,我发现退出线程的干净方式(在。net中)是通过使用返回语句(在c#中)或让线程达到方法的结束。

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

谢谢你的帮助,

约翰

c#中ExitThread(ExitCode)和GetExitCodeThread的等价函数是什么?. net

底层Win32线程原语不公开的原因是为了防止托管代码依赖于它们。CLR团队一直在研究优化线程使用的方法,但这并不保证1:1的托管:非托管线程映射(例如,请参阅MSDN页面上的"注意")。如果你真的想这样做,你需要设置P/Invoke包装器,使用Win32 GetCurrentThread()中的非托管线程句柄,或者用自定义主机自己挂钩到线程映射过程。我不推荐这两种方法,除非您绝对必须与使用线程退出码并且不具有托管代码感知的东西进行互操作。如果你能做到这一切,找出另一种方法来走私状态信息(或使用任务并行库从裸线程抽象一个级别)。