Python进程池的概念和实现
来源:互联网 发布:老板烟机淘宝和实体店 编辑:程序博客网 时间:2024/05/29 04:12
1 使用进程池实现socket 通信
ftp服务端
#!/usr/bin/python# -*- coding utf8 -*- from multiprocessing import Process,Poolfrom socket import *import osserver=socket(AF_INET,SOCK_STREAM)server.setsockopt(SOL_SOCKET,SO_REUSEADDR,1)server.bind(('127.0.0.1',8080))server.listen(5)def talk(conn,addr): print(os.getpid()) while True:#通讯循环 try: msg=conn.recv(1024) if not msg:break conn.send(msg.upper()) except Exception: breakif __name__ == '__main__': pool=Pool() res_l=[] while True:#链接循环 conn,addr=server.accept() print(addr) #pool.apply(talk,args=((conn,addr))) #同步 res=pool.apply_async(talk, args=((conn, addr))) res_l.append(res) # p=Process(target=talk,args=((conn,addr))) #p.start()
客户端信息
#!/usr/bin/python# -*- coding utf8 -*- from multiprocessing import Processfrom socket import *client=socket(AF_INET,SOCK_STREAM)client.connect(('127.0.0.1',8080))while True: msg=input('msg: ').strip() if not msg:continue client.send(msg.encode('utf-8')) msg2=client.recv(1024) print(msg2.decode('utf-8'))
可以多开几个客户端 然后执行
此示例的cpu_count()为4
启动了5个客户端
执行之后呢 第五个客户端挂起 这时候呢 关闭任意一个客户端 挂起的客户端会执行
在
服务端看到他的pid是关掉的那个 等同于复用了pid
这样就避免了进程过多
阅读全文
0 0
- Python进程池的概念和实现
- Python中进程池的相关概念
- 进程和线程的概念
- 进程的概念和特征
- 进程的概念和特征
- 进程的概念和特征
- 进程和线程的概念
- 进程和线程的概念
- 进程的概念和特征
- 多线程和进程的概念
- 孤儿进程和僵尸进程的概念
- 【python 走进NLP】NLP WordEmbedding的概念和实现
- inux的进程-进程的概念和fork创建进程
- 进程和线程的概念和区别
- 进程和线程的概念和区别
- 内存池的概念、设计和实现
- python 实现多进程和多线程的例子
- Win32的进程和线程概念
- Charles配置获取https数据
- Logistic Regression
- 国内固定电话和传真的正则表达式
- 欢迎使用CSDN-markdown编辑器
- DescriptionResourcePathLocationType The superclass "javax.servlet.http.HttpServlet" was not foun
- Python进程池的概念和实现
- 解决安卓的input的弹出的软键盘遮住文本
- https配置与部署
- hdu5890 Find small A 二进制
- C#将数据导入到excel表格中
- die,exit,continue,break的区别
- Linux--用shell写一个学生成绩管理系统
- Centos上搭建docker的私有仓库
- 排序算法