大文件写入会阻塞Erlang VM吗?
当我在单独的进程中写入大文件时,整个 Erlang VM 是否会被阻止(即没有执行其他 Erlang 进程)?
Does the entire Erlang VM get blocked (that is no other Erlang processes are executed) while I write a big file in a separate process ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Erlang VM 管理 I/O 的内部(操作系统级)线程池。
与文件交互不会阻塞模拟器。
一般来说,文件访问通过 IoDevice,它是协调 I/O 的包装进程。如果您经常处理文件,这可能会减慢速度。
file:open/2
提供了raw
模式,可以更快地直接读取/写入文件。The Erlang VM manages an internal (OS-level) thread pool for I/O.
Interacting with files will not block the emulator.
In general, file access goes through an IoDevice, which is a wrapper process coordinating I/O. If you work with files a lot, this may slow things down.
file:open/2
provides araw
mode for faster, direct reading/writing of files.