数据记录应用程序,服务器组件 - 单独的线程或单独的进程

时间:2015-11-08 16:49:19

标签: c multithreading unix

我正在编写一个数据记录应用程序,它从外部设备读取一些值并定期将它们保存到文件中。此外,我希望应用程序有一个服务器组件,可以通过TCP / IP访问当前读数。

应用程序是在类似unix的环境中用C语言编写的。

我不确定服务器是否应该作为一个单独的进程运行(启动后自己fork)并使用一些IPC来获取数据,或者它是否会作为一个单独的线程更好?

这样的决定有哪些成分?

谢谢!

1 个答案:

答案 0 :(得分:2)

如果您是实时的,请远离"另一个"因为这只会在数据路径中引入另一个跳,这会减慢传输速度。

有一个进程,实例化一个阅读器线程,从设备中提取数据并将其推送到内部缓冲区,可能会实现double-buffering,具体取决于设备的功能。

然后从该内部缓冲区读取记录器线程和发送者线程。