com组件的同步问题。

cod_aas 2002-04-05 04:01:20
我想在服务器上运行我的com组件服务器。
而其它很多客户端可以随时访问我的服务器组件。
这样,可能涉及同步问题。
请问,我的服务器组件要做成什么样的才能处理好同步问题。
或者说这样的服务器有什么特点。谢谢。
...全文
58 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
cod_aas 2002-04-18
  • 打赏
  • 举报
回复
给分了
WQ 2002-04-15
  • 打赏
  • 举报
回复
用MSMQ好一些
他给你串行化了
Colo 2002-04-15
  • 打赏
  • 举报
回复
你的服务器肯定是唯一实例的.
两种办法:
第一,当有客户访问时,阻塞其他客户的接口调用,直到完成调用.
第二,建立一个请求队列,在线程中完成对内存的访问.当客户请求时把请求放入请求队列,然后执行请求.当请求完成,发送事件通知给客户.
mhorse 2002-04-15
  • 打赏
  • 举报
回复
为保证你的服务器工作的串行化:
第一步,你的服务器必须定义为单线程套间的运行模式
第二步,你必须将服务器工厂定义为单实例
(使用宏DECLARE_CLASSFACTORY_SINGLETON)
bittcn 2002-04-14
  • 打赏
  • 举报
回复
关注\
WQ 2002-04-14
  • 打赏
  • 举报
回复
加个锁
在加个数据改变的通知消息即可

令也可用MSMQ
服务器做成异步的,一个实例
cod_aas 2002-04-14
  • 打赏
  • 举报
回复
服务器只能有一个实例。
服务器做好后,我做了一个dll的组件。
给客户用的。
客户用dll组件与服务器通信。
可是,我在多线程中创建dll的组件时。
就出问题。
如果只有一个线程,就没有问题。
总说,服务端的指令,不能写。
好像是,指针过早被释放了。
不过,调用时,用什么线程,或怎么用,我就不太明白。(客户端)
splitter 2002-04-09
  • 打赏
  • 举报
回复
首先,你的编译环境的改写,采用c runtime库必须是mutlithread library
因为c 的运行库许多函数不是thread safe.
其次,对于共享内存的访问要采用线程同步机制。如临界量,信号等
再次,对于class factory和com 中的计数器在增加和减少的时候
也必须同步。
bucher 2002-04-08
  • 打赏
  • 举报
回复
服务器只有一个实例还是只能有一个实例?
cod_aas 2002-04-08
  • 打赏
  • 举报
回复
服务器有一个共享内存。
用于客户的读写。
服务器只有一个对象实例。
服务器的要求??
bucher 2002-04-07
  • 打赏
  • 举报
回复
详细点

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧