| 
 | 
 
导入必要的模块- import socket
 
 - from multiprocessing import Process
 
  复制代码 
定义一个函数用于创建socket客户端:- def client_process(server_address, port):
 
 -     # 创建socket对象
 
 -     client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 
 -     # 连接到服务器
 
 -     client_socket.connect((server_address, port))
 
 -     # 发送一些数据到服务器
 
 -     client_socket.sendall(b"Hello, server!")
 
 -     # 接收服务器的响应
 
 -     response = client_socket.recv(1024)
 
 -     print(f"Received from server: {response.decode()}")
 
 -     # 关闭socket连接
 
 -     client_socket.close()
 
  复制代码 
 
创建并启动多个进程: 
- def main():
 
 -     # 服务器的地址和端口号
 
 -     server_address = 'localhost'
 
 -     port = 12345
 
 -     # 创建进程列表
 
 -     processes = []
 
 -     # 创建并启动多个进程
 
 -     for i in range(5):  # 例如,创建5个客户端进程
 
 -         p = Process(target=client_process, args=(server_address, port))
 
 -         p.start()
 
 -         processes.append(p)
 
 -     
 
 -     # 等待所有进程完成
 
 -     for p in processes:
 
 -         p.join()
 
 -  
 
 - if __name__ == '__main__':
 
 -     main()
 
  复制代码 确保服务器的IP地址和端口号正确无误,并且服务器已经准备好接受连接。 
 
在多进程环境中使用全局解释器锁(GIL)可能会限制并发性能在某些情况下,尤其是在CPU密集型任务中。但对于I/O密集型任务(如网络通信),Python的多进程通常表现良好。如果你确实遇到了性能瓶颈,可以考虑使用multiprocessing.Pool或异步I/O(例如使用asyncio库)。 
 
 
 
 |   
 
 
 
 |