当前位置: 首页 > wzjs >正文

网站建站要求百中搜优化

网站建站要求,百中搜优化,张家界网站建设,设计公司起名常用字进程池: 主要方法: p.apply_async(func(函数名)[,args(传递给func的参数列表--元组形式)[,kwds(传递给func的关键字参数列表)]]) 非阻塞方式调用func p.close() 关闭进程池,防止进一步操作(进程池不接受新的任务) p.join() 阻塞进…

进程池:
主要方法:

p.apply_async(func(函数名)[,args(传递给func的参数列表--元组形式)[,kwds(传递给func的关键字参数列表)]])        非阻塞方式调用func

p.close()  关闭进程池,防止进一步操作(进程池不接受新的任务)

p.join() 阻塞进程

enumerate() 不管任务是否完成,立即终止,如果使用异步提交任务,等进程池内任务都处理完,需要用get()来收集结果

使用场景:利用Python进行系统管理的时候,同时操作多个文件目录,或者远程控制多台主机,并行操作可以节约大量时间

阻塞:遇到I/O就发生阻塞,程序一旦阻塞操作就停在原地,并且立刻释放CPU资源

非阻塞:没有遇到I/O操作或者通过某种手段让程序即使遇到IO操作也不会停在原地而去执行其他操作,力求尽可能多的占有CPU资源

同步与异步:提交任务的两种方式:
同步调用:提交完任务后就在原地等待,直到任务运行完毕后,拿到任务的返回值,才能继续执行下一行的代码

异步调用:提交完任务后,不在原地等待,直接执行下一行代码

进程池同步和异步操作:

#异步:不用等待当前进程执行完毕,随时根据系统调度来进行进程切换
import os
import time
from multiprocessing import Pooldef learn(n):print('study')time.sleep(2)return n**2if __name__=='__main__':#创建进程池,最大进程数为3p=Pool(3)list=[]for i in range(6):result=p.apply_async(learn,args=(i,))#learn函数名,i为函数learn的参数list.append(result)#把结果添加到list列表里p.close()#关闭进程池,关闭后p不再接受新的请求p.join()#等待p中所有的子程序执行完成,必须放在close语句之后for j in list:print(j.get())#使用get获取apply_async
#同步:apply(同步阻塞)需要等待当前子进程执行完毕后,在执行下一个进程(按顺序执行)
import os
import time
from multiprocessing import Pooldef learn(n):print('study')time.sleep(2)return n**2if __name__=='__main__':#创建进程池,最大进程数为3p=Pool(3)list=[]for i in range(6):result=p.apply(learn,args=(i,))#learn函数名,i为函数learn的参数list.append(result)#把结果添加到list列表里print(list)

进程池的通信:

Pool创建进程池,需要使用multiprocessing.Manager()中Queue()

if multiprocessing.Queue()

Manager()模块专门用来做数据共享,支持很多类型,如value,array,list,dict,Queue,Lock等

multiprocessing模块下的Queue为进程提供服务;

queue模块下的Queue为线程提供服务;

队列实例化 q=Manager(),Queue()

import os
from multiprocessing import Pool,Managerdef rd(q):print(f'rd启动{os.getpid()},父进程{os.getppid()}')for i in range(q.qsize()):#q.qsize()返回队列中数据的数量print('取出数据:',q.get())def wd(q):print(f'wd启动{os.getpid()},父进程{os.getppid()}')for i in '123':print('wd中的:',i)q.put(i)#把字符串123中的某个数据放到队列中if __name__=='__main__':print('begin,',os.getpid())q=Manager().Queue()#创建进程池p=Pool()#使用异步操作p.apply_async(wd,args=(q,))p.apply_async(rd,args=(q,))p.close()#关闭进程池p.join()#阻塞主进程print('end',os.getpid())

输出结果为:
begin, 524
wd启动7628,父进程524
wd中的: 1
wd中的: 2
wd中的: 3
rd启动10488,父进程524
取出数据: 1
取出数据: 2
取出数据: 3
end 524

http://www.dtcms.com/wzjs/450508.html

相关文章:

  • 做网站要什么步骤站长之家最新网站
  • 怎么建立网站免费的开发一个网站需要多少钱
  • 学校二级学院网站建设企业推广策略
  • 海南专业做网站的公司快速学电脑培训班
  • 哪些网站做日本代购中国新冠疫情最新消息
  • 这是我做的网站吗网址ip地址查询工具
  • 网站搭建完手机访问百度关键词的费用是多少
  • 图片做记录片的是哪个网站四川旅游seo整站优化站优化
  • 学会python做网站湘潭高新区最新新闻
  • 临沂兰山网站建设seo对网店推广的作用
  • 网站建设怎么骗人网络营销工具平台
  • 苏州做网站最好公司哪家好百度首页网站推广多少钱一年
  • 做网站推广的是什么职位推广引流软件
  • 淘客手机端网站建设学新媒体运营最好的培训学校
  • 优秀网站模板欣赏网络广告营销经典案例
  • 党的建设求是网seo推广公司教程
  • 云龙微网站开发114外链
  • 如何修改asp网站栏目百度下载应用
  • 做网站1万多块钱打开百度网页
  • 网站内的搜索怎么做的螺蛳粉的软文推广
  • 做时间轴的在线网站百度推广自己怎么做
  • 自己网站视频直播怎么做百度网络营销app
  • 做sns网站需要什么谷歌网站网址
  • 网络工作室图片南昌seo管理
  • 紫金保险车险官方网站营销策划思路及方案
  • 企业做网站的费用账务如何处理个人网站注册平台
  • 图片设计公司多合一seo插件破解版
  • 怎么自己优化网站在百度怎么创建自己的网站
  • 郑州高端品牌网站建设武汉网站快速排名提升
  • 金水郑州网站建设钦州seo