我有一个 C++ 协议栈 dll(用于串行通信),它将一个类公开给前端应用程序。暴露的类如下图所示:
class ProtocolStack
{
public :
void OpenRequest(Params);
void SendData(Params);
void CloseRequest(Params);
};
ProtocolStack 类创建不同的层,如 PhysicalLayer,如下所示。
class PhysicalLayer
{
private:
int Baud_rate;
string PortName;
public:
void Send(string);
void Receive();
};
我想使用相同的协议栈从不同的系统并行读取数据。如果我创建一个协议栈对象用于并行读取(从不同的端口),当从不同的线程同时调用相同的函数时,为每个函数调用分配的数据段会不同吗?
它会破坏物理层的私有变量。对?
我是否需要在每一层中维护每个通道(并行连接)的所有数据?
我想并行处理数据。除了创建另一个堆栈对象或维护与每一层中的连接相关的所有数据之外,还有其他方法吗?