已有的功能模块中,一部分是用VS2005写的,另一部分则是VC6写的。
现在需要有个工程项目,需要这些模块的整合,鉴于工作量的考虑,并不想转换平台,而是考虑了进程通讯。
这就涉及到要交互一些数据,目前选用了“共享内存”的方法。
现在的问题是,这块共享内存属于公共资源,如何在不同的项目进程之间实现互斥,或者说是同步?
请教各位,望踊跃发言。
5 个解决方案
#1
创建
命名的 CreateEvent
多进程可以共享,这是比较简单快捷的办法
多进程可以共享,这是比较简单快捷的办法
#2
多谢LS,我回去试一下,还有其他方法吗?望不吝赐教。
#3
我想再问一下: CreateEvent的安全性,或者说是可靠性怎么样?
比如说,如果通过发消息的方法传递状态,因为消息是不可靠的,所以有可能状态得不到保证。
那么Event呢,会不会有类似的一些情况?
#4
放心吧,Event设置了,就一定行的。不会丢失的
#5
那就多创建几块共享内存呗
#1
创建
命名的 CreateEvent
多进程可以共享,这是比较简单快捷的办法
多进程可以共享,这是比较简单快捷的办法
#2
多谢LS,我回去试一下,还有其他方法吗?望不吝赐教。
#3
我想再问一下: CreateEvent的安全性,或者说是可靠性怎么样?
比如说,如果通过发消息的方法传递状态,因为消息是不可靠的,所以有可能状态得不到保证。
那么Event呢,会不会有类似的一些情况?
#4
放心吧,Event设置了,就一定行的。不会丢失的
#5
那就多创建几块共享内存呗