繁体   English   中英

C#线程问题

[英]C# threading issue

关于在调用unmanaged代码时使用多线程的一些一般建议吗?

我随机收到访问冲突错误,并且很明显地挖掘那些unmanaged代码没有多大意义。

有什么我可以尝试的方法,而不是将这些调用放入某些critical section以消除违规错误?

这取决于您正在调用的非托管组件是否已编程为线程安全的。

如果仅在并行调用此代码时遇到访问冲突,则看起来您正在使用的组件不是线程安全的。

使用C# lock()语句使其安全:

private static readonly myLockObject = new object();

...

lock (myLockObject)
{
   CallMyUnsafeCode();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM