Python 并发编程库 goless
使用 goless 库,你可以用 Python 语言编写 Go 语言风格的并发程序。goless 提供了 channels、select 和 gooutines 的函数,允许你使用 Go 语言漂亮和优雅的并发编程模型,但是以你习惯的 Python 方式。goless 基于 g**、PyPy或者 Stackless Python 构建,可用于 PyPy、CPython 和 Stackless Python 解释器,支持 Python 2.6 到 3.4示例代码:"""
A really ** example to use when demonstrating goless.
"""
from __future__ import print_function
import goless
def **():
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__':
**()
A really ** example to use when demonstrating goless.
"""
from __future__ import print_function
import goless
def **():
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__':
**()
没有找到相关结果
已邀请:
0 个回复