gpt4 book ai didi

c++ - 我的 COM 服务器中需要作业队列吗?

转载 作者:太空宇宙 更新时间:2023-11-04 12:28:13 24 4
gpt4 key购买 nike

我有一个 COM EXE 进程外服务器,从其接口(interface)之一公开 API。此 API 的功能是发布 URL。

我的客户端将创建 COM 服务器的实例并使用新的 URL 调用此 API。

每次客户端需要发布 URL 时,它都会创建此 COM 服务器的实例。

我是否需要在 COM 服务器中实现一个队列来跟踪客户端发布的所有 URL 并确保没有丢失任何内容?

我想知道的是,是否每次创建 COM 对象时都会启动一个新进程?如果是这样的话,我认为我不需要在服务器中实现作业队列。

但是如果内存中只剩下一个实例,客户端发布的职位/网址是否有可能丢失。

最佳答案

COM 通常为所有请求启动一个服务器进程,并实例化该进程中的所有对象。如果您在所有对象(全局变量或静态成员变量)之间共享任何数据,您应该注意同步或使 COM 组件成为单元线程 (STA)。

如果您没有同步并且组件是多线程 (MTA),那么如果一次由多个线程写入,则实例之间共享的所有数据都可能损坏。

关于c++ - 我的 COM 服务器中需要作业队列吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/861637/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com