【问题标题】:Blocking I/O calls in Linux在 Linux 中阻塞 I/O 调用
【发布时间】:2015-12-28 23:30:12
【问题描述】:

Linux 中的所有阻塞 I/O 调用是否都以某种方式围绕 read() 和 write() (http://www.gnu.org/software/libc/manual/html_node/I_002fO-Primitives.html)?

然后,我的用例将是拦截这些函数调用并在它们之前和之后执行代码,以计算示例程序中 I/O 的使用情况。

【问题讨论】:

  • 您具体想到了什么阻塞 I/O 调用?
  • 磁盘 I/O、套接字 I/O 等。基本上是基本多线程服务器会进行的任何阻塞 I/O 调用 :)
  • 您应该查看手册页以了解写入/读取函数系列,但我不能 100% 确定这涵盖了所有 I/O 调用。

标签: c++ linux io operating-system blocking


【解决方案1】:

Linux 中的所有阻塞 I/O 调用都以某种方式包裹在 read() 和 写() (http://www.gnu.org/software/libc/manual/html_node/I_002fO-Primitives.html)?

没有。由于您还想到了套接字 I/O,请参见。 Transferring Data(来自同一手册):

还有一些特定于套接字操作的 I/O 模式。 为了指定这些模式,您必须使用recvsend 函数而不是更通用的函数 readwrite 函数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-24
    • 1970-01-01
    • 2018-04-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多