并发、异步、分布式、与python通信的任务

pycos的Python项目详细描述


pycos是一个用于异步的python框架, 具有任务、异步完成和 信息传递。

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

与线程不同,使用pycos创建任务非常高效。此外,与 pycos上下文切换仅在任务使用yield时发生(通常使用 不同步呼叫),因此不需要锁定,也不需要 不必要的上下文切换。

pycos与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,数据流, 还支持实时(实时)分析和云计算,
  • 监视和重新启动(本地或远程)任务以进行故障检测 以及容错性,
  • 任务功能的热交换,用于动态系统重新配置,
  • 具有异步任务完成的线程池,用于执行(外部) 同步任务,如读取标准输入。

依赖关系

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

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

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

安装

要安装pycos,请运行:

python -m pip install pycos

作者

  • 吉里达尔·彭马萨尼

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

推荐PyPI第三方库


热门话题
java什么是VMObject?   java将数据插入H2数据库表   java如何修改保存在一个卡夫卡主题中的Twitter API消息并将其发送到另一个卡夫卡主题   对象Java变量别名解决方法   java返回数组在try/catch中初始化   java DateTimeFormat shortDate无年份   java我如何在recycle应用程序的首次发布中突出显示项目   java使文本区域包含大量文本,其帧响应更快   类抛出的java ClassCircularyError。forName在转换TwoStacksPlainDatagramSocketImpl类时   swing如何在GroupLayout Java中设置Jframe背景图像   sip无法在独立java应用程序上运行PJSIPJNI包装   java Android internet连接问题   java当单击按钮VerEstoque时,应用程序停止。代码上有Logcat错误,请输入h3lp   java如何在JFrame上设置图像图标动画图像将加载但不会更改   与socket一起使用时,java错误的currentTimeMillis()   Java内部字符串表示:是UTF16吗?