代码之家  ›  专栏  ›  技术社区  ›  subbu

C.exe与C++ DLL之间互斥体的使用

  •  0
  • subbu  · 技术社区  · 16 年前

    是否有可能使用一个互斥对象作为一个应用程序,使用C++的DLL进行后台工作,并用C语言来显示它。bot这些使用一个公共资源ie db。互斥体也可以用来锁定这个资源。在我的DB C++中,将插入到数据库中,C将读取它。

    4 回复  |  直到 16 年前
        1
  •  3
  •   alemjerus    16 年前

    有一个叫做“命名mutex”的东西,它是OS对象,可以在不同的库和应用程序之间共享,只有在创建/使用时指定它的名称。
    参照 http://msdn.microsoft.com/en-us/library/ms682411%28VS.85%29.aspx

        2
  •  1
  •   Sani Huttunen    16 年前

    您应该锁定数据库而不是使用互斥锁,因为其他应用程序总是有可能访问同一资源。即使您知道只有您的dll和应用程序当前访问该资源,也有人可以编写应用程序来访问同一资源并破坏方案。

    看看sqlite PRAGMA (锁定模式和同步)。

        3
  •  1
  •   weismat    16 年前

    您必须在系统的C中使用此构造函数。线程命名空间:

    公众Mutex bool首字母签名, 字符串名称, 输出布尔创建新 )

    C部分包含在其他答案中,因此不需要interop/pinvoke。

    推荐文章