Thread类中Thread.BeginThreadAffinity()方法的用途是什么?

Dot*_*ner 5 c# multithreading

Thread.BeginThreadAffinity()Thread类中的方法有什么用?如果您提供示例示例,我将了解您是否有帮助.

谢谢.

Han*_*ant 7

在.NET 1.x中,Thread始终与操作系统线程匹配.应SQL Server团队的要求,该关联在.NET 2.0中被破坏.CLR主机现在可以控制线程映射本身,IHostTaskManager就是它的工作接口.这篇博文中有一个很好的背景资料.

有时代码确实关心它在特定的操作系统线程上运行.Windows关键部分和突变体就是一个例子.真的,任何类型的非托管代码互操作.Thread.BeginThreadAffinity()调用IHostTaskManager :: BeginThreadAffinity()让主机知道该任务不应该被允许在另一个操作系统线程上运行,而是坚持当前正在运行的那个,直到调用EndThreadAffinity().

但是,不要担心这一点.SQL Server项目是一个破产,他们无法让它变得可靠.没有迹象表明他们会再试一次.