0
我正在嘗試使用gevent進行異步編程,並且無法理解我的代碼的工作方式。gevent spawing - 按順序而不是併發
我嘗試ping google.com使用一個關閉的端口(22)上的插座和期待ping
功能同時發生,但情況並非如此
我有一個Python代碼如下
class Ping(object):
def checkReachability(self,index):
sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
sock.settimeout(2)
print index
try:
sock.connect(('google.com',22))
gevent.sleep(0)
except socket.error as e:
print str(e)
sock.close()
def ping(self):
threads = [gevent.spawn(self.checkReachability, i) for i in range(3)]
gevent.joinall(threads)
if __name__ == 'main':
m = Ping()
m.ping()
我期待看到:
0
1
2
timeout
timeout
timeout
這是我得到
0
timed out
1
timed out
2
timed out
任何幫助將有所幫助。
謝謝