我想从一个DLL通过堆分配的对象。 显然, 内存必须正确管理 。 有谁看到与下面的狡猾计划我设计了一个问题:
unbounded_buffer<shared_ptr<T>> buf;
我知道的shared_ptr存储起来,供包含的对象有删除,因此使用它独自跨越DLL边界不应该是一个问题。
我想从一个DLL通过堆分配的对象。 显然, 内存必须正确管理 。 有谁看到与下面的狡猾计划我设计了一个问题:
unbounded_buffer<shared_ptr<T>> buf;
我知道的shared_ptr存储起来,供包含的对象有删除,因此使用它独自跨越DLL边界不应该是一个问题。
这是我从MSFT收到关于这个问题:
是的,你可以说是手动的CreateThread创建的线程中使用消息块(如unbounded_buffer)。
邮件无法穿越的DLL边界,它的配置和删除必须发生在同一个DLL。 像变压器一些消息块分配新的消息。 于是,他们从相同的问题也同样蒙受损失。 unbounded_buffer>是完全没有用,除了它并没有解决上述问题。 类型模板参数指的是在消息中(即消息)的有效载荷类型。 这是不是信封的类型。
在稳定状态下的数据流的网络的吞吐量是非常好的。 性能损失的主要来源是连接和当网络正被建立消息块的取消关联。 在Visual Studio 2010中,如发送和asend消息开始命令,从这个性能损失遭遇。 我们已经在Visual Studio即将发布的解决了这个问题。 有没有计划回港的修复程序VS2010。 一个潜在的解决方法是实施总是连接到所述数据流的网络的简单东森光电消息块。 使用此块发起消息到网络(该_Originator在agents.h是用于东森光电块的一例)。