【发布时间】:2014-07-02 18:41:34
【问题描述】:
我有一个服务器-客户端系统..每个客户端都映射服务器上找到的文件。一旦客户端更新文件,服务器需要通知客户端更新他们的文件..即他们应该再次取消映射和映射文件。我认为解决这个问题的方法是使用 write() (在服务器端)向客户端发送一个字符串“Update”......并使用 read() 执行无限循环以继续等待这样的“Update” )(在客户端)。但是,这个 while 循环应该在某种线程或子进程中。哪个最好?还有其他建议吗?非常感激。提前致谢。
【问题讨论】:
-
如果使用 MAP_SHARED 打开文件,更新将立即可见。无需 unmap() 和 mmap()。您仍然需要您的“更新”信号,并且可能需要共享互斥锁来同步访问。
标签: c multithreading client-server fork