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

软膜做网站有用吗网站规划与建设规划书

软膜做网站有用吗,网站规划与建设规划书,商务网站制作公司,网页设计包括哪些并发编程-进程 进程创建启动 python提供了multiprocessing模块来支持多进程 multiprocessing.Process(targettask, args(arg,))用于创建进程 Process类相关方法 start() 启动进程join() 等待进程结束 启动子线程 【注意】线程启动代码块要放在__name__ __main__下 方式…

并发编程-进程

进程创建启动

python提供了multiprocessing模块来支持多进程

  • multiprocessing.Process(target=task, args=(arg,))用于创建进程

Process类相关方法

  • start() 启动进程
  • join() 等待进程结束

启动子线程

【注意】线程启动代码块要放在__name__ == __main__

方式一:

import multiprocessing
import timedef task(name: str, count: int):print(f"{name} - step 1\n", end="")result = 0for i in range(count):result += i + 1time.sleep(5)print(f"{name}- end with {result}")def start_process1():name = "p1"count = 100process = multiprocessing.Process(target=task, args=(name, count))process.start()process.join()print("main process over")if __name__ == "__main__":start_process1()

运行结果:

PS F:\Code\python_code\high_python\python_advance\multiprocesses> python .\multiprocesses_demo.py
p1 - step 1
p1- end with 5050
main process over

查看进程信息:一条进程是python用来做资源监控的,所以有两条。

PS F:\Code\python_code\high_python> tasklist.exe|findstr "python"
python.exe                   19588 Console                    2     11,436 K
python.exe                   14300 Console                    2     11,644 K

方式二:

import multiprocessing
import timedef task(name: str, count: int):print(f"{name} - step 1\n", end="")result = 0for i in range(count):result += i + 1time.sleep(5)print(f"{name}- end with {result}")def statr_process2():args_list = [("a", 100), ("b", 99), ("c", 98)]processes = [multiprocessing.Process(target=task, args=(name, count)) for name, count in args_list]for p in processes:p.start()for p in processes:p.join()# 创建进程
if __name__ == "__main__":statr_process2()

运行结果:

PS F:\Code\python_code\high_python\python_advance\multiprocesses> python .\multiprocesses_demo.py
a - step 1
b - step 1
c - step 1
a- end with 5050
b- end with 4950
c- end with 4851

检查进程信息:

PS F:\Code\python_code\high_python> tasklist.exe|findstr "python"
python.exe                   15016 Console                    2     11,576 K
python.exe                   13820 Console                    2     11,520 K
python.exe                    3676 Console                    2     11,632 K
python.exe                    3080 Console                    2     11,624 K

进程池

  • 进程的创建和销毁比起线程更加耗费资源
  • 频繁的创建和销毁线程对系统的性能影响更大
  • 进程池是python提供的便于进程管理和提高性能的工具

使用进程池

python提供了两个类concurrent.futures.ProcessPoolExecutorFuture

ProcessPoolExecutor相关方法

  • submit() # 启动一个线程任务,返回一个Future类的对象
  • map() # 不相同任务,不同参数,启动多进程,返回可迭代对象,包含任务执行结果
  • shutdown() # 停止进程

Future相关方法

  • result() # 任务执行结果
  • exception() # 执行出现的异常

下载图片案例

from concurrent.futures import ProcessPoolExecutor
from urllib.request import urlopen, Request
import osheaders = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36","content-type": "Content-Type: image/jpeg"
}
def download_img(url: str):site_url = Request(url, headers=headers)with urlopen(site_url) as web_file:img_data = web_file.read()if not img_data:raise Exception(f"Error: can not load the image from {url}")file_name = os.path.basename(url)with open(file_name, "wb") as f:f.write(img_data)return "Download image successfully, {}".format(url)urls = ["https://img0.bdstatic.com/static/searchresult/img/baseimg3_4f26a23.png",# "..."
]def main():with ProcessPoolExecutor() as ececutor:results = ececutor.map(download_img, urls)for r in results:print(r)
if __name__ == "__main__":main()

运行结果:

PS F:\Code\python_code\high_python\python_advance\multiprocesses> python .\multiprocess_pool.py
Download image successfully, https://img0.bdstatic.com/static/searchresult/img/baseimg3_4f26a23.png
http://www.yayakq.cn/news/915912/

相关文章:

  • 有没有做减压的网站广告设计图素材
  • 合工大网站建设试卷清远做网站的有哪些
  • 专门为98k做的网站wordpress xampp 本地
  • 修改网站dns禾量电商小程序
  • 网站创建需要什么如何做印刷报价网站
  • 网站seo搜索引擎优化怎么做建设一个大型电影网站
  • 怎么做网站推广知乎淘宝客网站用什么软件做
  • 鹤壁网站设计慈溪做网站公司哪家好
  • 建购物网站要多少钱wordpress 迁移 步骤
  • 广州网站建设新科分公司网站添加 百度商桥
  • 沧州网站建设多少钱湖南鸿泰电力建设有限公司网站
  • 地产建站规划太原手机网站开发
  • 网站必须实名认证吗网站推广软件费用是多少
  • 电商网站建设与运营专业注册网站名字
  • 网站交互行为代码改wordpress地址
  • 免费域名做网站网站开发与应用是什么
  • 西安网站建设-中国互联网站备案个人承诺书
  • vps怎么添加网站爱站网新网址是多少
  • 网站是asp还是php大理网站建设公司
  • 做网页设计可以参考哪些网站秦皇岛市海港区建设局网站
  • 网站建设 职责wordpress侧面分类插件
  • 苏州网站建设排名设计师个人网站怎么做
  • 怎么做提取微信62的网站高端效果图制作公司
  • 自助下单网站怎么做如何建设网站济南兴田德润简介电话
  • 网站的代运营仿网站收费
  • 支付宝手机网站签约开放一个网站多少钱
  • 滨州正规网站建设哪家专业中华室内设计官网
  • 企业做网站便宜织梦做的网站 首页有空白
  • 适合新手做的网站房产网站建设价格
  • 删除网站死链中国外贸论坛