首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果您只有一个阻塞函数,则可以随时使用greenthread

如果您只有一个阻塞函数,则可以随时使用greenthread
EN

Stack Overflow用户
提问于 2014-05-13 20:27:25
回答 2查看 235关注 0票数 2

Python中的绿色线程具有协作多任务来完成任务。应该在下面的场景中使用它们,因为它们不会将控制权交给/传递给其他线程。

场景:

阻塞函数只有一个命令:到另一台机器的长时间运行的SSH。因此,即使您有多个绿色线程,也有可能多个SSH连接甚至不会打开,因为第一个线程不会将启动连接的控制权交给下一个线程。

将通过该SSH在计算机上进行安装

EN

回答 2

Stack Overflow用户

发布于 2014-05-14 14:24:20

使用paramiko或其他Python库运行SSH是套接字IO,使用subprocess也是文件描述符IO,在这两种情况下,它都会将控制权交给其他线程。

您需要使用eventlet.monkey_patcheventlet.green.subprocess来实现此SSH产量控制。

在这样一个简单的程序中,您不需要任何绿色/OS线程:

代码语言:javascript
复制
import os
os.system('ssh host command')
票数 0
EN

Stack Overflow用户

发布于 2014-05-14 14:26:18

这取决于阻塞函数是否可以使用绿色(非阻塞) ssh调用。有一个‘绿色’库,它也是ssh https://pypi.python.org/pypi/telnetsrv/0.4的cabale

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23631278

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档