python开发进程:进程开启方式&多进程
2024-10-08 05:19:22
一,进程的开启方式
利用模块开启进程
from multiprocessing import Process
import time,random
import os
def piao(name):
print(os.getppid(),os.getpid())
print('%s is piaoing' %name)
# time.sleep(random.randint(1,3))
print('%s is piao end' %name)
if __name__ == '__main__':
p1=Process(target=piao,kwargs={'name':'alex',})
p2=Process(target=piao,args=('wupeiqi',))
p3=Process(target=piao,kwargs={'name':'yuanhao',})
p1.start()
p2.start()
p3.start()
print('主进程',os.getpid())
利用类开启进程
from multiprocessing import Process
import time,random
import os
class Piao(Process):
def __init__(self,name):
super().__init__()
self.name=name
def run(self):
print(os.getppid(),os.getpid())
print('%s is piaoing' %self.name)
# time.sleep(random.randint(1,3))
print('%s is piao end' %self.name)
if __name__ == '__main__':
p1=Piao('alex')
p2=Piao('wupeiqi')
p3=Piao('yuanhao') p1.start()
p2.start()
p3.start()
print('主进程',os.getpid(),os.getppid())
二,多进程
服务器端
from socket import *
from multiprocessing import Process
s=socket(AF_INET,SOCK_STREAM)
s.setsockopt(SOL_SOCKET,SO_REUSEADDR,1) #就是它,在bind前加
s.bind(('127.0.0.1',8088))
s.listen(5)
def talk(conn,addr):
while True: #通信循环
try:
data=conn.recv(1024)
if not data:break
conn.send(data.upper())
except Exception:
break
conn.close()
if __name__ == '__main__':
while True:#链接循环
conn,addr=s.accept()
p=Process(target=talk,args=(conn,addr))
p.start()
s.close()
客户端
from socket import *
c=socket(AF_INET,SOCK_STREAM)
c.connect(('127.0.0.1',8088)) while True:
msg=input('>>: ').strip()
if not msg:continue
c.send(msg.encode('utf-8'))
data=c.recv(1024)
print(data.decode('utf-8'))
c.close()
最新文章
- sqlserver 读取xml 字符串方法
- shell学习之路:shell基础大全2
- [充电]C++ string字符串替换
- JQ怎么获取margin-left的值
- 解决Ubuntu不能挂载ntfs格式硬盘
- 关于“心脏出血”漏洞(heartbleed)的理解
- shell写的计算器
- Tomcat学习笔记 - 错误日志 - NetBeans配置tomcat出错情况总结 -- 部署错误: 启动 Tomcat 失败。-- '127.0.0.1' 不是内部或外部命令,也不是可运行的程序
- MyEclipse2015 javaweb项目从svn检出后变成java项目,clean之后不能编译,解决办法是
- java.io.IOException: Stream closed
- RxJava(三) flatMap操作符用法详解
- websocket(一)--握手
- pip install beautifulsoup4.失败
- js替换字符中的斜杠反斜杠
- NPOI 操作Word
- Android: SlidingDrawer(滑动式抽屉)
- eclipse maven项目 热部署
- fortran中提取字符串中可见字符的索引
- Extjs DateTime 日期时间选择控件 (非点击日期强制选择) 支持4.0以上
- Xcode控制台命令