Python创建工作池
示例
使用threading&queue:
from socket import socket, AF_INET, SOCK_STREAM
from threading import Thread
from queue import Queue
def echo_server(addr, nworkers):
print('Echo server running at', addr)
#启动客户工人
q = Queue()
for n in range(nworkers):
t = Thread(target=echo_client, args=(q,))
t.daemon= True
t.start()
#运行服务器
sock = socket(AF_INET, SOCK_STREAM)
sock.bind(addr)
sock.listen(5)
while True:
client_sock, client_addr = sock.accept()
q.put((client_sock, client_addr))
echo_server(('',15000), 128)使用concurrent.futures.Threadpoolexecutor:
from socket import AF_INET, SOCK_STREAM, socket
fromconcurrent.futuresimport ThreadPoolExecutor
def echo_server(addr):
print('Echo server running at', addr)
pool = ThreadPoolExecutor(128)
sock = socket(AF_INET, SOCK_STREAM)
sock.bind(addr)
sock.listen(5)
while True:
client_sock, client_addr = sock.accept()
pool.submit(echo_client, client_sock, client_addr)
echo_server(('',15000))DavidBeazley和BrianK.Jones(O'Reilly)撰写的PythonCookbook,第3版。版权所有2013DavidBeazley和BrianJones,978-1-449-34037-7。
热门推荐
10 财运虎年祝福语简短语
11 单亲爸爸春节祝福语简短
12 狗狗上厕所训练
13 植物种植祝福语简短
14 翻译考试祝福语朋友简短
15 个人周年庆简短祝福语
16 狗狗怎么训练
17 分别祝福语简短搞笑英文
18 生日广州男生祝福语简短