概述
多进程&多线程
服务端:多进程和多线程的开启方式相同。
缺点:<1> 由于Cpython的GIL,导致同一时间无法运行多个线程;<2> 不可能无限开进进程或线程
解决办法:多进程、concurrent.futures.ProcessPoolExecutor、线程池
import socket
from multiprocessing import Process
from threading import Thread
class MyTcpServer:
def __init__(self, ip, port):
self.ip = ip
self.port = port
self.server = socket.socket()
self.server.bind((self.ip, self.port))
self.server.listen(5)
def wait_accept(self):
conn, addr = self.server.accept()
return conn, addr
def handle_request(self, conn):
while 1:
try:
data = conn.recv(1024)
if not data: break
conn.send(data.upper())
except Exception as e:
print(e)
break
conn.close()
if __name__ == '__m
最后
以上就是虚心鸡为你收集整理的python实现异步socket_python 实现socket服务端并发的四种方式的全部内容,希望文章能够帮你解决python实现异步socket_python 实现socket服务端并发的四种方式所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复