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

广州网站外贸推广无锡seo

广州网站外贸推广,无锡seo,电子商务网站建设经费,山东网站建站系统平台python实现多进程的方法:fork、multiprocessing模块创建多进程。 os.fork方法 os.fork方法只适合于unix/linux系统,不支持windows系统。 fork方法调用一次会返回两次,原因在于操作系统将当前进程(父进程)复制出一份…

python实现多进程的方法:fork、multiprocessing模块创建多进程。

os.fork方法

os.fork方法只适合于unix/linux系统,不支持windows系统。

fork方法调用一次会返回两次,原因在于操作系统将当前进程(父进程)复制出一份进程(子进程),这两个进程几乎完全相同,fork方法分别在父进程和子进程中返回,子进程永远返回0,父进程返回子进程的ID,

例子:

import os

if __name__ == '__main__':
   
print('current process(%s) start...'%(os.getpid()))
    pid = os.fork()
   
if pid < 0:
       
print('error in fork')
   
elif pid == 0:
       
print('i am child process(%s) and my parent process is (%s)',(os.getpid()),os.getpid())
   
else:
       
print('i(%s) created a child process (%s).',(os.getpid(),pid))

使用multiprocessing模块

使用multiprocessing模块的Process类来描述一个进程对象。创建时传入一个需要多进程执行的函数和函数的参数即可。

start方法:启动进程。

join方法:实现进程间的同步。

例子:

import os
from multiprocessing import Process

def run_proc(name):
   
print('child process %s (%s) running...'%(name,os.getpid()))

if __name__ == '__main__':
   
print('parent process %s.'% os.getpid())
   
for i in range(5):
        p = Process(
target=run_proc,args=(str(i),))
       
print('process will start.')
        p.start()
    p.join()
   
print('process end.')

但是如果创建大量的进程的话,应当使用进程池

multiprocessing模块进程池实现

可以使用multiprocessing模块的Pool类实现一个进程池,进程的数量默认是cpu的核数。当有新的请求时,如果进程的数量没有达到最大值,那么就会创建一个新的进程,如果进程的数量达到最大值,那么请求就会等待直到进程池中有进程结束,才会创建新的进程来处理这个请求。

例子:创建一个容量为3的进程池,运行5个任务。通过进程pid可以看到始终只有三个进程在执行。

import os,time,random
from multiprocessing import Pool

def run_task(name):
   
print('task %s (pid=%s) is running...'% (name,os.getpid()))
    time.sleep(random.random() *
3)
   
print('task %s end.'%name)

if __name__=='__main__':
   
print('current process %s.'%os.getpid())
    p = Pool(
processes=3)
   
for i in range(5):
        p.apply_async(run_task,
args=(i,))

   
print('waiting for all subprocesses done...')
    p.close()
    p.join()
   
print('all subprocess done.')

Pool对象调用join方法会等待所有子进程执行完毕,调用join方法之前必须调用close方法,调用close方法不能再添加新的Process。

http://www.hkea.cn/news/619848/

相关文章:

  • 营销型网站怎么做智能建站abc
  • 捷信做单官方网站网络服务主要包括什么
  • 网站建设的方案费用什么时候网络推广
  • 这么做3d展示网站公司百度官网优化
  • 工业设计软件上市公司搜索引擎优化的方法
  • 网站建设公司创意网站网络推广推广
  • 浙江三建建设集团有限公司网站关键词的作用
  • 网站建设官方网站教育培训机构加盟十大排名
  • 万网上传网站seo免费
  • 孝感做网站公司百度热议排名软件
  • 建设网站费用吗廊坊seo快速排名
  • 网站建设公司怎样拓展网站业务大连网站推广
  • 什么网站可以免费做找客户东莞seo建站推广费用
  • 合肥微信网站建设购物网站如何推广
  • 网站建设课程简介图片百度官网认证免费
  • 月夜影视在线观看免费完整版韩剧关键词排名优化报价
  • 做网站的工作时间兰州seo公司
  • css怎么嵌入到html直通车关键词优化口诀
  • 虚拟网站php专业型seo网站关键词排名提升
  • 找人合伙做网站平台b2b电商平台
  • 手机网站建设技术方案找网站设计公司
  • 杭州如何设计公司网站惠州seo网站推广
  • 成都网站建设门户大连企业网站建站模板
  • 游戏卡充值可以做网站吗百度竞价关键词出价技巧
  • 建设企业网站就等于开展网络营销网店推广实训报告
  • dede无法更新网站主页到百度联盟注册
  • wordpress支持爱奇艺企业网站seo托管怎么做
  • 永川做网站的武汉百度快速排名提升
  • 做网站的故意给中病毒网络营销广告
  • 关于阅读类网站的建设规划书友情链接系统