栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python进程操作

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python进程操作

创建进程基本用法
# 当前文件下运行的程序叫主进程,子进程只能在主进程下创建
from multiprocessing  import Process
import time
def get_url(url):
        print("这是一个子进程",url)

if __name__ == '__main__':
    # 一次只能创建一个子进程,target=get_url表示绑定一个任务,创建一个子进程
    # args=('www.1.com',),表示给get_url任务传参
    p = Process(target=get_url,args=("www.1.com",))
    p.start()
    print('这是一个主进程')

返回结果:
这是一个主进程
这是一个子进程 www.1.com
创建多进程
from multiprocessing  import Process
import time
def get_url(url):
        time.sleep(2)
        print("这是一个子进程",url)


if __name__ == '__main__':
  # for循环相当于主进程遇到了阻塞,并行或并发主要是为了解决阻塞的问题,
  # 所以可以找到程序耗时最多的地方来创建进程
  for i in ["www.1.com","www.2.com","www.3.com"]: 
    p = Process(target=get_url,args=(i,))
    p.start()

  # 主进程和子进程哪个先完成,主要是看哪个运行效率高,效率高的先执行
  print('这是一个主进程')

返回结果:
这是一个主进程
这是一个子进程www.3.com
这是一个子进程www.1.com
这是一个子进程www.2.com
 
 
处理先完成子进程再完成主进程的方法
from  multiprocessing import Process
import time
def get_url(url):
        time.sleep(2)
        print('这是一个主进程,',url)

if __name__ == '__main__':
    start = time.time()
    list_data = ["www.1.com","www.2.com","www.3.com"]
    process_list = [] # 存储子进程
    for url in list_data:
            p = Process(target=get_url,args=(url,))
            process_list.append(p)
            p.start()
    for _process  in process_list:
            # 调用join的子进程,子进程结束后才会执行主进程
            # 表示process_list下的所有进程运行结束后才可以运行主进程
            _process.join()
    print("总耗时:",time.time()-start)

返回结果:
这是一个子进程,www.3.com
这是一个子进程,www.1.com
这是一个子进程,www.2.com
总耗时: 2.193899631500244
 守护进程
from multiprocessing import Process
import time


def get_url(url):
    time.sleep(2)
    print("这是一个子进程", url)


if __name__ == '__main__':
    for i in ["www.1.com", "www.2.com", "www.3.com"]:
        p = Process(target=get_url, args=(i,))
        # 子进程创建前先设置守护进程,表示主进程结束后,子进程无论有没有结束都终止运行       
        p.daemon=True 
        p.start()

    print('这是一个主进程')


返回结果:
这是一个主进程

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/755026.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号