一,进程的开启方式

利用模块开启进程

 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()

最新文章

  1. sqlserver 读取xml 字符串方法
  2. shell学习之路:shell基础大全2
  3. [充电]C++ string字符串替换
  4. JQ怎么获取margin-left的值
  5. 解决Ubuntu不能挂载ntfs格式硬盘
  6. 关于“心脏出血”漏洞(heartbleed)的理解
  7. shell写的计算器
  8. Tomcat学习笔记 - 错误日志 - NetBeans配置tomcat出错情况总结 -- 部署错误: 启动 Tomcat 失败。-- '127.0.0.1' 不是内部或外部命令,也不是可运行的程序
  9. MyEclipse2015 javaweb项目从svn检出后变成java项目,clean之后不能编译,解决办法是
  10. java.io.IOException: Stream closed
  11. RxJava(三) flatMap操作符用法详解
  12. websocket(一)--握手
  13. pip install beautifulsoup4.失败
  14. js替换字符中的斜杠反斜杠
  15. NPOI 操作Word
  16. Android: SlidingDrawer(滑动式抽屉)
  17. eclipse maven项目 热部署
  18. fortran中提取字符串中可见字符的索引
  19. Extjs DateTime 日期时间选择控件 (非点击日期强制选择) 支持4.0以上
  20. Xcode控制台命令

热门文章

  1. 报错如HTTP Status 404 - /ssh_crm/jsp/linkman/add.jsp/
  2. TypeScript 教程&手册
  3. Java泛型中的标记符含义
  4. Binary Differences
  5. 五十一 Python分布式爬虫打造搜索引擎Scrapy精讲—scrapyd部署scrapy项目
  6. spring boot MongoDB的集成和使用
  7. Neutron的安全组原理
  8. language model ——tensorflow 之RNN
  9. static-静态类型
  10. 【linux】ulimit限制打开的文件数量