0

我有下面的应用程序,其中线程 1 从文件中读取并放入 FIFO,然后线程 2 读取该 FIFO 并处理数据并发送到网络套接字,线程 3 正在从网络套接字接收数据,然后将结果保存到 file2 但有时接收到的数据必须由thread2重新处理,所以问题是最好的办法是什么?我需要再次发送到 FIFO 吗?或者在线程 3 和线程 2 之间有另一个 fifo?或者两者都不是?

File1 --> 线程 1 --> FIFO --> 线程 2 --> 网络套接字

网络套接字 --> 线程 3 --> 文件 2

顺便说一句,以上是我的一个示例,实际程序将有许多线程从 FIFO 读取并发送到网络,不确定以这种方式使用 FIFO 是否会导致延迟或成为瓶颈。

感谢您的帮助。

4

1 回答 1

0

嗯,

没有使用将监视文件和套接字描述符数组的选择系统调用有什么特殊原因吗?这可以简化代码,如下所示

您是在使用 pthreads 还是类似 boost 线程库的东西...

这些线程是否确实是不同的进程......或者这是您使用 pthread_cond_wait() 的所有一个程序?

于 2012-12-17T04:16:29.270 回答