是否有可能为用户C++ dll做后台工作的应用程序使用互斥体对象,并使用c#来显示它。 Bot这些使用一个共同的资源,即分贝。所以可以使用Mutex来锁定这个资源。在我的数据库C++将插入到数据库和C#将读取它。在c#exe和C++ dll之间使用互斥体
0
A
回答
3
有一个叫做“命名互斥体”的东西,它是OS对象,可以在不同的库和应用程序之间共享,只需在创建/使用时指定它的名称即可。
参考http://msdn.microsoft.com/en-us/library/ms682411%28VS.85%29.aspx
0
1
您应该锁定分贝,而不要使用互斥,因为有其他应用程序可能会访问相同的资源。即使你知道它只是你当前访问资源的dll和应用程序,有人可能会编写一个应用程序来访问相同的资源并破坏该方案。
看看SQLite PRAGMA(locking_mode和synchronous)。
1
你必须使用此构造函数在C#中System.Threading命名空间:
公共互斥( 布尔initiallyOwned, 字符串名称, OUT BOOL createdNew )
的C部分在其他答案中已有介绍 - 因此不需要Interop/PInvoke。
相关问题
- 1. 跨用户C#互斥体
- 2. 在c#exe中创建命名互斥并在C++中访问它一个dll
- 3. 使用群组之间的互斥
- 4. C++提升线程和互斥体
- 5. 在模块之间共享互斥体
- 6. C++ - 进程之间共享的互斥体
- 7. C++ 14 shared_timed_mutex VS C++ 11互斥体
- 8. 互斥体的定义和在C中的使用
- 9. 如何在Linux和C中使用文件作为互斥体?
- 10. C++ 11间原子学和互斥
- 11. 阅读在C++中编写互斥体
- 12. 互斥和C套接字
- 13. 是在用户空间中实现的C++ 11互斥体吗?
- 14. exe和dll之间的C++调用错误
- 15. C++ MFC-在MFC DLL和WTL exe之间共享数据?
- 16. 使用Allegro互斥体创建互斥体类
- 17. C++中互斥锁和临界区之间的性能差异
- 18. 如何使用互斥体
- 19. 互斥在C++中使用wxWidgets
- 20. Node.js和互斥体
- 21. Ruby和互斥体
- 22. EventQueues和互斥体
- 23. 在c#和c之间使用常见的颜色值dll
- 24. 网络和C#.dll之间的相互作用
- 25. C#互斥参考
- 26. C++等待互斥
- 27. 读写之间的互斥
- 28. Obj-c/Cocoa中的互斥体
- 29. 如何使用NtCreateMutant(Zw)在C++中创建一个互斥体
- 30. 共享互斥和互斥之间的区别(为什么都存在于C++ 11并发中)?