触发不同的传感器线程将数据发送到同一个套接字?

时间:2017-01-27 17:34:47

标签: c++ multithreading sockets

到目前为止,对我的问题最近的问题是: How to handle same socket in different threads?

但它对我的追求没有帮助。我有几个传感器线程,它们以随机的间隔发送到客户端套接字,然后客户端套接字将该数据发送到服务器套接字。

但是当传感器线程同时被触发时我遇到了问题,那么这些线程的数据就会混淆。我不希望这种行为发生,我希望所有这些线程都能被明确地触发,而不会在任何时候被触发。请给我一些实现此目的的方法。我似乎无法想出一个好的解决方案。

P.S。我正在模拟一个测试分支环境,其中传感器在不同的线程中触发(就像连接到客户端套接字),以便在不同的主题上向该客户端发送数据,而不是向代理发送数据。当我用来在传感器线程上睡觉时,数据混合仍会在稍后的某个时刻发生。

1 个答案:

答案 0 :(得分:0)

从概念上讲,它应该非常简单,让您的单独线程将数据推送到独占访问容器(如数组或队列),然后单独的线程将数据从容器转发到套接字。

这样一次只有一个线程处理套接字通信。