Python中的绿色线程具有协作式多任务处理功能。它们是否应该用于以下场景,因为它们不会将控制权传递给其他线程。
情景:
阻塞功能只有一个命令:长时间运行SSH到另一台机器。因此,即使你有多个绿色线程,它也有可能甚至没有打开多个SSH连接,因为第一个线程不能控制下一个连接以启动连接。
将通过机器上的SSH进行安装
答案 0 :(得分:0)
使用paramiko
或其他Python库运行SSH是套接字IO,使用subprocess
也是文件描述符IO,在这两种情况下它都将控制其他线程。
您需要使用eventlet.monkey_patch
或eventlet.green.subprocess
来进行此SSH控制。
在这样的简单程序中不需要任何绿色/ OS线程:
import os
os.system('ssh host command')
答案 1 :(得分:0)
这取决于你的阻止功能是否可以使用绿色(非阻塞)ssh调用。有一个'绿色'图书馆,也是ssh https://pypi.python.org/pypi/telnetsrv/0.4
的套件