python框架,用于并行、分布式、异步网络编程,包括协同路由、异步完成和消息传递。

asyncoro的Python项目详细描述


asyncoro是 异步、并发、分布式协同程序设计,异步 完成和消息传递。

与其他异步框架不同,使用asyncoro开发的程序 与带有线程的程序具有相同的逻辑和结构 语法变化-主要使用yield和异步完成 控制Asyncoro的调度程序,该调度程序交叉执行协同路由, 类似于操作系统执行多个进程的方式。此外, Asyncoro有许多附加功能,包括 通信、分布式计算/编程等

与线程不同,使用asyncoro创建进程(协程)非常 效率高此外,使用asyncoro上下文切换仅在协同路由时发生 使用yield(通常用于异步调用),因此不需要 锁定并且没有不必要的上下文切换的开销。

Asyncoro适用于Python版本2.7+和3.1+。它已经过测试 Linux、MacOSX和Windows;它也可以在其他平台上工作。

功能

  • 没有回调或事件循环也不需要锁定关键部分,
  • 高效的轮询机制epoll、kqueue、/dev/poll、windows 高性能的I/O完成端口(IOCP)和 可扩展性,
  • 异步(非阻塞)套接字和管道,用于并发 I/O的处理,
  • 用于安全的SSL
  • 异步锁定原语类似于python线程模块,
  • 异步计时器和超时,
  • Message passing 用于(本地和远程)协作以一对一地交换消息 使用Message Queue Pattern或通过 用Publish-Subscribe Pattern广播频道
  • Location transparency带命名 定位(本地和远程)资源
  • 分发计算组件(代码和数据)以执行 分布式通信过程,适用于广泛的用例,包括 SIMD, MISD, MIMD系统 过程级架构,web interface到 监视群集/应用程序状态/性能;in-memory processing,数据流, 还支持实时(实时)分析和云计算,
  • 监视和重新启动(本地或远程)协同程序,以便进行故障检测 以及容错性,
  • 协同程序功能的热交换,用于动态系统重新配置,
  • 具有异步任务完成的线程池,用于执行(外部) 同步任务,如读取标准输入。

依赖关系

asyncoro是用python中的标准模块实现的。

如果psutil在节点上可用,则节点 可用性状态(CPU、内存和磁盘)在状态消息中发送,并显示 在web浏览器中,这样就可以监视节点/应用程序的性能。

在windows下,有效的轮询通知程序i/o完成端口(iocp)是 仅当pywin32可用时才支持; 否则,将使用效率低下的select通知程序。

安装

要安装Asyncoro,请运行:

python -m pip install asyncoro

作者

  • 吉里达尔·彭马萨尼

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

推荐PyPI第三方库


热门话题
netbeans根据命名约定返回布尔类的getter的Java名称   java如何在MessageFormat中使用单引号   java如何在整数数组中只对奇数排序,而将偶数保留在其原始位置?   自定义ArrayAdapter中未定义java构造函数   java joda时间格式化程序解析yyyyymmdd(额外一小时)   java Spring引导控制器测试始终返回404   java如何提取类文件以获取该类文件中的类?   JTable java列不会显示   java Selenium Web驱动程序输出错误的Web表行数   当应用程序在mac上打开时,java SWT选项卡项会从页面上消失   java如何将html文件映射到过滤器   swing Java计算一段时间内两点之间的转换   javawebsphere和javax。xml。ws。spi。提供者:提供者组织。阿帕奇。axis2。jaxws。spi。提供者不是子类型   For循环在Java中没有按预期继续?   java如何配置gson以排除0个整数值   java读取一个由tab分隔的文件,并将单词放入ArrayList中   java我需要做什么才能让LiveConnect重新工作?   sqlservermerge2xml&使用java提取这些数据并将其存储在db表中   java如何在模型中添加新对象时通知网格