【问题标题】:Making A imported(DllImport) C++ DLL thread safe for C#使导入的(DllImport)C++ DLL 线程对 C# 安全
【发布时间】:2016-08-09 02:56:51
【问题描述】:

我想知道使用 DllImport 将 C++ dll 导入 C# 的“要求”是什么,以使其完全线程安全,因为 C++ Dll 中的函数非常基本。

【问题讨论】:

  • 这就像你直接从 C# 调用 C++ 函数一样,应用相同的线程安全规则,就好像你从 C++ 调用你的函数一样。
  • 它永远不会比 C++ 代码或多或少是线程安全的。所以没有要求。

标签: c# c++ multithreading


【解决方案1】:

没有默认保护,如果这是您所要求的 - 就好像您从任何其他语言调用该函数一样。

如果您需要线程安全,您需要创建自己的包装类来提供该安全性,并确保您的代码不会绕过它(只需在包装内创建 DllImported 方法 private类)。

【讨论】:

    猜你喜欢
    • 2016-12-12
    • 1970-01-01
    • 2021-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-28
    相关资源
    最近更新 更多