1,os.fork() 方法

import os

ret = os.fork()

if ret == 0:

#子进程

print("Sub process pid = %d, Sub process ppid = %d" % (os.getpid(), os.getppid()))

else:

#父进程

print("Parent Process ret = %d" % ret)

print("Parent Process pid = %d" % os.getpid())

在该方法中,执行os.fork()会再创建一个进程,原进程(父进程)返回一个大于零的值(即ret > 0),这个值恰好是子进程的pid;而创建的新进程会返回零(即ret = 0)。

fork炸弹:在用户输入栏输入:

while True:

os.fork()

设备内存就会很快被塞满,然后down掉。

2,Process方法

from multiprocessing import Process

def func():

print("i am subprocess")

new_process = Process(tartget=func)

print("i am Parent Process")

Process方法需要指定一个函数,且父进程会等待子进程结束。另外可以新建一个example类继承Process类,然后重写__init__和run()函数,之后调用example.start(),它就会自动执行run()函数。

3,Pool方法

from multiprocessing import Pool

import time

def worker(x):

for j in range(1, 11):

print("%d:%d" % (x, j))

time.sleep(1)

pool = Pool(3) # run 3 process simultaneously

for i in range(1, 11):

print(i)

pool.apply_async(worker, (i,))

print("---start---")

pool.close() # 关闭进程池,不允许继续添加进程

pool.join() # 等待进程池中的所有进程结束

print("---end---")

Pool方法即进程池,需要说明有几个进程同时运行。在使用apply_async方法时第一个参数是函数名,第二个参数需要输入一个元组。在示例代码中,进程池同时允许三个进程运行,另外七个进程排队等候,当第一批的三个进程执行完后,第二批的三个再执行。所以进程池相当于起到了缓冲的作用。

实际上,在进程池的方式中,父进程基本上只需要等待子进程执行(使用pool.join()进行等待),任务都是交给子进程执行的。

python点击按钮创建进程_python-创建进程的三种方式相关推荐

  1. linux+Qt 下利用D-Bus进行进程间高效通信的三种方式

    linux+Qt 下利用D-Bus进行进程间高效通信的三种方式 原文链接: https://www.cnblogs.com/wwang/archive/2010/10/27/1862552.html ...

  2. Python找出列表中出现次数最多的元素三种方式

    通过三种方式给大家介绍,具体详情如下所示: 方式一: 原理:创建一个新的空字典,用循环的方式来获取列表中的每一个元素,判断获取的元素是否存在字典中的key,如果不存在的话,将元素作为key,值为列表中 ...

  3. python的命名空间_python中命名空间的三种方式介绍(附示例)

    本篇文章给大家带来的内容是关于python中命名空间的三种方式介绍(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. python中的命名空间分三种: 内置的命名空间,在启动解 ...

  4. python实现定时任务的方式_Python实现定时执行任务的三种方式简单示例

    本文实例讲述了Python实现定时执行任务的三种方式.分享给大家供大家参考,具体如下: 1.定时任务代码 #!/user/bin/env python # @Time :2018/6/7 16:31 ...

  5. python定时执行脚本_Python实现定时执行任务的三种方式简单示例

    本文实例讲述了Python实现定时执行任务的三种方式.分享给大家供大家参考,具体如下: 1.定时任务代码 #!/user/bin/env python # @Time :2018/6/7 16:31 ...

  6. python语言format蔬菜姓名、年龄_python格式化输出的三种方式

    [TOC] 格式化输出的三种方式 一.占位符(第一种格式化输出 )(3.0版本使用) 程序中经常会出现这样的 场景:要求用户输入信息,然后打印成固定的格式 比如要求用户输入用户名和年龄,然后打印如下格 ...

  7. python遍历字符串的每个字符_Python遍历字符串的4种方式

    码农公社  210.net.cn  210是何含义?10月24日是程序员节,1024 =210.210既 210 之意. Python遍历字符串的4种方式 1.下标法 2.for in 3.iter内 ...

  8. python 网页爬虫nike_python网络爬虫-爬取网页的三种方式(1)

    0.前言 0.1 抓取网页 本文将举例说明抓取网页数据的三种方式:正则表达式.BeautifulSoup.lxml. 获取网页内容所用代码详情请参照Python网络爬虫-你的第一个爬虫.利用该代码获取 ...

  9. 查看redis进程_redis安装(启动三种方式)

    一.安装redis 第 1 步:下载redis安装包 [root@hadoop105 redis]# wget http://download.redis.io/releases/redis-4.0. ...

  10. java创建QRCode二维码的三种方式

    自己在网上看视频学习了下如何使用java创建二维码,感觉还是挺有趣的,有小心思的还可以把秘密存入二维码中噢 视频源网址:http://www.imooc.com/learn/531 点击下载jar包 ...

最新文章

  1. 怎么关闭wordpress评论
  2. Windows批量添加防火墙例外端口
  3. 新的开始,连菜鸟都算不上的程序媛
  4. k3note Android8,联想乐檬K3 Note官方稳定版 最新VIBE刷机包 精简优化 完美加入Root权限...
  5. python新手程序员工资-程序员吐槽新同事:连我实习水平都不到,工资是我的1.7倍...
  6. QT的 QAndroidJniObject类的使用
  7. [蓝桥杯][算法提高VIP]质数的后代-质数筛
  8. 怎样让计算机快速开机,怎样设置可以让电脑快速启动开机.doc
  9. java jri_Java调用R(二)_JRI | 学步园
  10. 两个 Integer 数值之间不建议使用 “==” 进行比较
  11. My first project
  12. mybatis中#{}和${}
  13. Python 植物大战僵尸代码实现
  14. Pickit 3 Programmer使用说明及 烧写程序步骤
  15. 矩阵可逆与行列式关系的一个直观推导
  16. python中写公式_使用Python书写的公式编辑器
  17. 蓝桥杯练习题之数列特征
  18. 微信js-sdk 微信自定义分享显示图片和描述不显示
  19. 设置漂亮的eclipse主题(Theme)风格
  20. A Typical Homework (a.k.a Shi Xiong Bang Bang Mang) UVA - 12412

热门文章

  1. Android 高德地图在清除所有Marker,清除某一个MarKer
  2. 腾讯地图 marker 从地图上清空
  3. Win XP必须禁止的服务
  4. php的strpos不支持数字,php使用strpos判断字符串中数字类型子字符串出错的解决方法 原创...
  5. ie 调用java的时候报错,调用javabean的非常郁闷的异常。
  6. java桥_java 泛型--桥方法
  7. swagger接口文档使用
  8. c语言mergesort 参数,归并排序C语言兑现MergeSort
  9. mysql运营_为线上运营Mysql数据库设置从库
  10. 【C语言进阶深度学习记录】八 C语言中void的分析