1 def coroutine():
2 sock = socket.socket()
3 sock.setblocking(0)
4 address = yield sock
5 try:
6 sock.connect(address)
7 except BlockingIOError:
8 pass
9 data = yield
10 size = yield sock.send(data)
11 yield sock.recv(size)
1 while True:
2 r_list,w_list,e_list = select.select(inputs,outputs, ())
3 for i in w_list:
4 # print(type(i))
5 coro_dict[i].send(b'GET / HTTP/1.1\r\nHost: www.baidu.com\r\nConnection: Close\r\n\r\n')
6 outputs.remove(i)
7 inputs.append(i)
8 for i in r_list:
9 coro_dict[i].send(1024)
10 inputs.remove(i)
1 ? python3 5.py 10
2 spend time : 0.058114051818847656
3 ? python3 5.py 20
4 spend time : 0.0949699878692627