2009-10-22 64 views
0

如果我使用ILGenerator编写DynamicMethod并且我输出的代码是线程安全的,那么生成的委托会是线程安全的吗?.NET DynamicMethod线程安全?

我的问题是IL在该方法首次运行时被编译。如果这是真的,如果其他线程试图在编译时运行委托,会发生什么情况?

回答

3

它与标准委托没有任何区别。它们在某处出现为MSILJIT在需要时编译它们。

一旦你以委托形式拥有它,它就是你可以调用的一段代码。这就是你真正需要知道的。您正在运行的.NET(Rotor,Mono,Microsoft之一)的实现应该让您免受任何关于此的考虑,否则这是实施中的一个错误。