linux aio的python绑定

linux-aio-bind的Python项目详细描述


[英语][한국어 (korean)]

linux-aio-bind:python绑定用于Linux Kernel AIO

与linux内核aio系统调用匹配的低级python绑定模块。

如果您没有使用ctypes module直接开发高级python模块,但是您希望在python中使用aio功能,请参见High-level python wrapper

什么是linux内核aio?

Linux IO Models table

总之,它允许非阻塞和异步使用阻塞io操作,如read(2)write(2)

相关文件

它不同于POSIX AIO

posix aio api有aio_前缀,而linux内核aio有io_前缀。

已经有一个用于异步i/o的posix aio api,但是linux在glibc(一个用户空间库)中实现它,glibc应该在内部使用多线程。 因此,正如您从the experiment中看到的,这比使用阻塞io api要糟糕得多。

实施和结构

示例

示例可以在test directory中的代码中找到。

注释和限制

  • 显然只有在Linux上才可用
  • 因为它是一个包装器,所以带来了linux的限制。
    • 它不能用于用作内核接口的文件。(例如cgroup
    • Sometimes it works as Blocking.
      • 有一些事情已经解决后,通过发展张贴。
    • 一些功能正在添加,因为它们仍在开发中。
    • 当Linux版本较低时,也有一些功能不受支持
      • 您需要检查Linux man pages (4.16)及其相关的api文档
      • 轮询为4.19或更高,fsync和fdsync需要4.18或更高的内核

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java3D图表JavaGnuplotHybrid   java httpclient异常“org.apache.http.conn.ConnectionPoolTimeoutException:等待连接超时”   java如何使用Drive API连接到Google Drive文件夹   java如何正确组合@PathParams和@RequestBody?   使用JsonParser的java Jackson反序列化正在跳过@context的第一个键值对   java Twitter4j为getCreatedAt和getCountry获取空白或null   java doOnNext()不会被称为Spring Webflux   java Liberty批处理在使用与spring批处理相同的输入参数启动作业时未引发异常(JobInstanceAlreadyExistsException)   api使用WordNet有没有简单的基于Java的词义消歧?   Java和YAML:如何解析多个YAML文档并将它们合并到单个YAML表示?   swing Java:mouseClicked事件不总是触发   从firebase获取Json作为字符串在java中不起作用   java将带有extrastring的意图从活动发送到选项卡片段   Java中的调用方法问题   java是否可以在TestNG dataprovider类中注入变量   java如何在安卓 studio中使列表中的项目可单击并引导到具有特定格式的新页面   java程序在eclipse中运行,但不在终端中运行   java无法让mockito模拟公共类的公共方法