在 C++ 中实现高效的多线程文件 I/O
Posted
技术标签:
【中文标题】在 C++ 中实现高效的多线程文件 I/O【英文标题】:Implementing efficient multithreaded file I/O in C++ 【发布时间】:2011-11-05 23:08:21 【问题描述】:我目前正在开发一个自定义跨平台文件服务器(C++,boost)。显然,它会大量对 HDD 进行读取和写入。更复杂的是,它也将是多线程的,并使用异步套接字 I/O (with asio)。
现在,我想知道,我可以使用任何众所周知的做法、模式或方法吗?也许一些现有的图书馆之类的?当然,我可以尝试从头开始开发它,但它确实感觉像是在重新发明一个***。任何一般性的建议也将不胜感激。
【问题讨论】:
把钱花在快速磁盘和分析器上,而不是开发时间。 您打算处理同一文件上的线程争用吗?还是线程与文件是 1:1 的? 是的,一个文件可以被多个线程访问 【参考方案1】:我在快速谷歌搜索上看到的线程很少。请检查这是否有帮助。
Multithreaded file I/O Pthread tutorial Leader and follower pattern for efficient multi-threaded I/O【讨论】:
当他说他使用boost时,为什么不使用boost线程而不是pthreads? 好吧,我已经熟悉多线程了。我关心的是实现高效的多线程文件 I/O。 这根本不能回答问题。大概 OP 自己已经看过谷歌了。他(和我)真的想要一个特定于实现多线程文件 I/O 的答案以上是关于在 C++ 中实现高效的多线程文件 I/O的主要内容,如果未能解决你的问题,请参考以下文章