需求:
   在有多线程的情况下,我们可以使用线程帮我们处理一些事情,但是在python这里 由于RSA锁的缘故,我们只能够用到一个cpu帮我们处理事情,一个cpu在处理多个线程时,是通过上下文的切换使我们产生幻觉,感觉他同时在处理多个线程,但是在这里cpu在进行上下问的切换也是要消耗cpu。cpu是处理计算的 如1+1的计算。io操作不占用cpu,io只做网络,磁盘,内存中读取数据。所以python多线程 不适合CPU密集操作行的任务,python更适合io密集型的任务。
 
 
方案:
  这里可以使用进程,采取多进程的方式,可以使用到,多核的其他CPU,但是由于进程的原因,是不能共享数据的。
 
 
参数:
  multiprocessing.Process(target=函数, args=('参数',)) #生成一个进程
  注:Linux 每一个进程都是由父进程启动的。
  注:每一个进程默认都有一个父进程。
 
 
多进程模板:
import multiprocessing
import time
def f(name):
time.sleep(2)
print('hello', name) if __name__ == '__main__': # 生成一个进程实例
p = multiprocessing.Process(target=f, args=('bob',)) # 启动一个进程
p.start() # 等待一个进程完成
p.join()
 
 
多进程查看,主进程与子进程PID:
from multiprocessing import Process
import os def info(title):
print(title) # 打印模块名
print('module name:', __name__) # 打印父进程ID
print('parent process:', os.getppid()) # 打印自己的ID
print('process id:', os.getpid())
print("\n\n") def f(name): # 子进程调用info
info('\033[31;1mfunction f\033[0m')
print('hello', name) if __name__ == '__main__': # 主进程调用info
info('\033[32;1mmain process line\033[0m')
p = Process(target=f, args=('bob',))
p.start()
p.join()

Python 多进程基本语法的更多相关文章

  1. PYTHON多进程样码

    敲了一晚上,留个念想. 发现它和LINUX的C编程差不多,就是作了PYTHON化的语法封装. 以后希望有机会能用上.. A,多进程函数化实现 import multiprocessing import ...

  2. Python多进程与多线程编程及GIL详解

    介绍如何使用python的multiprocess和threading模块进行多线程和多进程编程. Python的多进程编程与multiprocess模块 python的多进程编程主要依靠multip ...

  3. Python多进程编程

    转自:Python多进程编程 阅读目录 1. Process 2. Lock 3. Semaphore 4. Event 5. Queue 6. Pipe 7. Pool 序. multiproces ...

  4. Python多进程(1)——subprocess与Popen()

    Python多进程方面涉及的模块主要包括: subprocess:可以在当前程序中执行其他程序或命令: mmap:提供一种基于内存的进程间通信机制: multiprocessing:提供支持多处理器技 ...

  5. Python多进程使用

    [Python之旅]第六篇(六):Python多进程使用   香飘叶子 2016-05-10 10:57:50 浏览190 评论0 python 多进程 多进程通信 摘要:   关于进程与线程的对比, ...

  6. python多进程断点续传分片下载器

    python多进程断点续传分片下载器 标签:python 下载器 多进程 因为爬虫要用到下载器,但是直接用urllib下载很慢,所以找了很久终于找到一个让我欣喜的下载器.他能够断点续传分片下载,极大提 ...

  7. Python多进程multiprocessing使用示例

    mutilprocess简介 像线程一样管理进程,这个是mutilprocess的核心,他与threading很是相像,对多核CPU的利用率会比threading好的多. import multipr ...

  8. Python多进程并发(multiprocessing)用法实例详解

    http://www.jb51.net/article/67116.htm 本文实例讲述了Python多进程并发(multiprocessing)用法.分享给大家供大家参考.具体分析如下: 由于Pyt ...

  9. python yield from 语法

    python yield from 语法 yield语法比较简单, 教程也很多 , yield from的中文讲解很少 , python官网是这样解释的 PEP 380 adds the yield ...

随机推荐

  1. ganglia-gmond.conf配置文件

    运行下列命令可以生成gmond默认配置文件: User@host:$ gmond -t 配置文件由大括弧括起来的几个section组成.这些section可以粗略划分为两个逻辑分类.第一类中的sect ...

  2. work table a year

    近10个月~ 回顾一下最近写代码和博客~  4.5.6月份刷OJ~ 7月中旬入职滴滴,几乎放弃了博客... GitHub提交统计,主要集中在准备机试,刷了九度OJ~ GitLab in didi~ 很 ...

  3. Excel条件格式

    任务需求,将Excel中年龄为90后出生的人员筛选出来,并将重复的人员数据删除. 一.Excel去重 选中表格数据->数据->删除重复值 此时弹出对话框,选择去重列. 点击确定即可. 二. ...

  4. gitlab-ci + k8s 之docker (三)

    docker 在本系列(一)中(https://www.cnblogs.com/huandada/p/9965771.html)的runner_tomcat.sh脚本有涉及到镜像的推送,本文主要记录整 ...

  5. 如何使用Vue-cli搭建和运行vue项目

    此文章  主要参考:https://jingyan.baidu.com/article/5225f26bbb430fe6fa0908ce.html 在vue init webpack my-proje ...

  6. linux命令sync,shutdown

    1.数据同步写入磁盘: sync 输入sync,那举在内存中尚未被更新的数据,就会被写入硬盘中 hling@hling:~$ sync   2.惯用的关机指令:shutdown 实例:

  7. webservice接口测试wsdl

    http和webservice接口测试有什么区别? webservice的基础组成是http+xml 三要素:soap传输协议,uddi,wsdl(webservice描述语言xml格式) 优点:跨平 ...

  8. 2016 Multi-University Training Contest 2题解报告

    A - Acperience HDU - 5734 题意: 给你一个加权向量,需要我们找到一个二进制向量和一个比例因子α,使得|W-αB|的平方最小,而B的取值为+1,-1,我们首先可以想到α为输入数 ...

  9. 前端 html 篇

    1 link和@import的区别是?     区别1:link是XHTML标签,除了加载CSS外,还可以定义RSS等其他事务:@import属于CSS范畴,只能加载CSS. 区别2:link引用CS ...

  10. dbgrid 无法显示表中所有字段

    有时表中字段有更新,dbgrid无法显示表中字段. 解决办法: 1.adoquery断开 2. dbgrid字段全部删除 3.adoquery打开 4.dbgrid选择全部字段