我发现本机文件访问没有“非阻塞”状态。 (我是正确的?)非阻塞本机文件访问 - C中的单线程守护进程?
我一直在搜索“非阻塞”的守护进程,并且我发现了一个通过线程文件访问操作实现了上述行为的守护进程,因此守护进程不会阻止。
我的问题是,不会线程和IPC'ing这样的操作是相当昂贵的?对于以下两种情况来说,这样做是否更有意义?A)预线程池,只需让每个客户端在一个线程上并让它阻塞它可能需要的任何阻塞操作。或者,
B)在文件访问阻塞的情况下,使用一个相对较小的缓冲区,这样它仍然阻塞 - 但人们会认为多个操作的小缓冲区比支付每个操作的线程代价更有意义和IPC呢?
一个通常使用所用系统上可用的C库。对于'非阻塞'文件访问,通常使用'select','poll','epoll'等完成。这些可用资源取决于系统/ C运行时。 – 2010-10-10 19:47:47
您确定这是本机文件的选项吗? (不是FIFO,也不是套接字)。不幸的是,我找不到任何相关的东西,如果你可以分享一个具体的参考,将非常感激! – 2010-10-10 19:53:58
这不是普通文件的选项,选择/轮询始终报告总是可读/始终可写的文件。 – nos 2010-10-10 20:15:02