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

做网站公司职员工资海南门户网站开发公司

做网站公司职员工资,海南门户网站开发公司,丹东抖音seo精英,市场营销专业就业方向结合Python代码示例说明multiprocessing模块的使用方法、Linux启动命令、服务部署及真实应用场景:一、multiprocessing基础用法 Python的multiprocessing模块通过创建子进程实现并行计算,核心步骤如下(引用):创建进程对…

结合Python代码示例说明multiprocessing模块的使用方法、Linux启动命令、服务部署及真实应用场景:


一、multiprocessing基础用法

Python的multiprocessing模块通过创建子进程实现并行计算,核心步骤如下(引用):

  1. 创建进程对象

    from multiprocessing import Process
    def worker(num):print(f"Worker {num} started (PID: {os.getpid()})")
    if __name__ == '__main__':p = Process(target=worker, args=(1,))  # 目标函数及参数
    
  2. 启动与等待

    p.start()  # 启动子进程 [[1,2,4]]
    p.join()   # 阻塞主进程直至子进程结束 [[4,6]]
    
  3. 关键方法

    • p.pid:获取进程ID
    • p.terminate():强制终止进程(需谨慎使用)
    • p.is_alive():检查进程是否存活

二、Linux系统中的启动命令

在Linux下运行Python多进程脚本:

python demo.py &  # 后台运行 [[11,14]]

或通过nohup持久化:

nohup python demo.py > log.txt 2>&1 &  

三、完整Demo:多进程部署FastAPI服务

以下示例同时启动FastAPI服务和计算任务:

import multiprocessing
import os
from fastapi import FastAPI
import uvicorn# FastAPI服务进程
def run_api():app = FastAPI()@app.get("/")def home():return {"message": "API running", "pid": os.getpid()}uvicorn.run(app, host="0.0.0.0", port=8000)# 计算任务进程
def heavy_task():result = sum(i*i for i in range(10**7))print(f"Task result: {result} (PID: {os.getpid()})")if __name__ == '__main__':# 创建进程api_proc = multiprocessing.Process(target=run_api)task_proc = multiprocessing.Process(target=heavy_task)# 启动进程api_proc.start()  # 启动API服务 [[3,9]]task_proc.start() # 启动计算任务 [[6,8]]# 等待结束(可选)task_proc.join()  # 主进程等待计算任务完成 print("Main process exits.")

服务部署说明

  1. 进程隔离
    • API服务(run_api)与计算任务(heavy_task)运行在独立进程,避免阻塞I/O 。
  2. 访问服务
    • 启动后通过[http://localhost:8000 ](http://localhost:8000 )访问FastAPI接口 。
  3. 进程资源
    • 每个进程有独立内存空间,需通过QueuePipe跨进程通信(未展示)。

四、真实应用场景

  1. CPU密集型任务

    • 如科学计算、图像处理,多进程利用多核CPU加速 。
      示例:并行处理大量数据:
    with multiprocessing.Pool(4) as pool:  # 创建4进程池results = pool.map(process_data, large_dataset)  # 并行映射 [[15,17]]
    
  2. 微服务架构

    • 同时运行多个服务(如API + 定时任务),避免单点故障 。
  3. 高并发处理

    • 每个请求分配独立进程,提升Web服务吞吐量(但需注意进程开销)。
  4. 爬虫系统

    • 多进程并行抓取不同网站,提高效率 。

五、注意事项

  1. 跨平台兼容性
    • multiprocessing在Linux/Windows均可用,但Linux基于fork(),Windows基于spawn
  2. 避免僵尸进程
    • 调用join()terminate()后需确保资源回收 。
  3. 进程数限制
    • 进程数不宜超过CPU核心数(multiprocessing.cpu_count())。

通过多进程部署服务,可显著提升系统性能和可靠性,尤其适合计算密集型和多服务协同场景。但需权衡进程创建开销与收益 。

http://www.dtcms.com/a/535309.html

相关文章:

  • 太原论坛建站模板wordpress系统语言设置中文
  • 英文网站怎么做做网站网站代理的犯法么
  • 做电影网站如何赚钱无锡网站建设收费
  • asp.net 网站压缩找工程项目上哪个平台好呢
  • 网站开发里程碑acm网站免费做
  • 昆山网站制作哪家强全网推广怎么做
  • 海外网站空间怎样在网站做两份简历
  • html网站登陆页面模板wordpress模板商业
  • 怎么做优惠券网站怎么在淘宝上做网站
  • 网站快速排名优化报价学网站建设培训机构
  • 做网站要提供营业执照吗国家工商官网查询
  • 代刷网站推广全网最便宜wordpress 拼团插件
  • 电子商务网站建设视频app推广项目从哪接一手
  • 延吉网站开发云开发数据库
  • 如何做网站的外链建设工程部网站
  • 做百度网站需要钱吗网站流量超限什么意思
  • 制作网站的固定成本西安seo网站公司
  • 网站推广的基本方法是海淀区seo搜索优化
  • 华为网站哪个公司做的百度网址收录入口
  • 俄罗斯在线 网站制作哈尔滨网站建设乙薇
  • 手机购物网站 设计竟标网站源码
  • 网站搭建 成都苏州吴中区保洁公司
  • 企业网站seo营销网页无法访问怎么解决
  • PHP网站开发与管理设计心得做网站要懂什么编程
  • 深圳网站建设推广优化seo依安县建设网站
  • 网站开发 如何备案网站安全证书过期怎么处理
  • 垂直类门户网站wordpress提速插件
  • 西宁市网站建设高端关于网站建设的调研报告
  • 新闻写作网站dw网站开发流程
  • 东莞做网站卓诚东莞企业网站制