Python 并发编程库:goless

jopen 10年前

使用 goless 库,你可以用 Python 语言编写 Go 语言风格的并发程序。goless 提供了 channels、select 和 gooutines 的函数,允许你使用 Go 语言漂亮和优雅的并发编程模型,但是以你习惯的 Python 方式。goless 基于 gevent、PyPy 或者 Stackless Python 构建,可用于 PyPy、CPython 和 Stackless Python 解释器,支持 Python 2.6 到 3.4

示例代码:

"""  A really simple example to use when demonstrating goless.  """  from __future__ import print_function     import goless        def simple():      channel = goless.chan()         def goroutine():          while True:              value = channel.recv()              channel.send(value ** 2)      goless.go(goroutine)         for i in range(2, 5):          channel.send(i)          squared = channel.recv()          print('%s squared is %s' % (i, squared))         # Output:      # 2 squared is 4      # 3 squared is 9      # 4 squared is 16     if __name__ == '__main__':      simple()

项目主页:http://www.open-open.com/lib/view/home/1408282165008