分叉孩子或穿线?

时间:2014-07-02 18:41:34

标签: c multithreading client-server fork

我有一个服务器 - 客户端系统..每个客户端mmap服务器上找到的文件。一旦客户端更新文件,服务器就需要通知客户端更新其文件。他们应该再次映射和mmap文件。我认为解决这个问题的方法是发送一个字符串"更新"通过使用write()(在服务器端)对客户端进行...并执行无限循环以继续等待这样的"更新"通过使用read()(在客户端)。但是,这个while循环应该在某种线程或子进程中。哪个最好?还有其他建议吗?非常感激。提前谢谢。

2 个答案:

答案 0 :(得分:1)

查看使用套接字和select语句。通过这样的设置,您可以进行基于事件的编程

答案 1 :(得分:0)

服务器可以发送signal客户端将陷阱并采取相应行动。

只需处理信号处理程序将要执行的操作(在信号处理的上下文中有许多函数不安全)。

同时注意竞争条件,注意不要丢失信号。