多进程的缓冲区

 #多进程 process.py
from multiprocessing import Process,current_process
import time
def func1():
print('ahhahaah func1')
time.sleep(10)#睡眠10s

def func2():
print('heiheihei func2')
time.sleep(10)#睡眠10s

def func3():
print('lalalalll func3')
time.sleep(10)#睡眠10s
def main(): p1 = Process(target = func1,name = 'func 1 ')#这里就当新打开了页面执行函数
p2 = Process(target = func2,name = 'func 2 ')#这里就当新打开了页面执行函数
p3 = Process(target = func3,name = 'func 3 ')#这里就当新打开了页面执行函数
list1 = [p1,p2,p3]
print('这是 主进程 ')
for a in list1:
a.start()

if __name__ == '__main__':
main()

主进程会创建子进程 但是他们输出不会输出在一起

  • 举个例子 比如说 我在父进程开启了3个子进程 那三个子进程

    就当做打开了三个运行界面运行,然后输出结果不会在一起的

    因为他们加上父进程一共是4个窗口在运行

那为什么在sublime text下 会延迟输出 而在cmd模式下会直接输出呢

  • 因为sublime会有自己的缓冲区,我们数据输入输出都是有一个缓冲区的

    就像c语言里面有输入输出流一样,sublime里面就是,它另外三个子进程

    输出完成之后会放在输出缓冲区里面,然后输出在父进程的输出界面,所以

    会延迟输出,这是编译器导致的结果,正常情况下是看不到子进程的输出

    结果的

  • 而cmd模式下,父进程和子进程都是用的一个空间,不用等另外三个子进程

    运行完成之后再把要输出的东西放在输出流里面,就可以直接输出出来,所以

    输出的时候会直接弹出来,而不用等待一会

python 多进程和子进程1的更多相关文章

  1. Python多进程编程

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

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

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

  3. Python多进程使用

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

  4. Python多进程multiprocessing使用示例

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

  5. python 多进程开发与多线程开发

    转自: http://tchuairen.blog.51cto.com/3848118/1720965 博文作者参考的博文:  博文1  博文2 我们先来了解什么是进程? 程序并不能单独运行,只有将程 ...

  6. Python多进程----从入门到放弃

    Python多进程 (所有只写如何起多进程跑数据,多进程数据汇总处理不提的都是耍流氓,恩,就这么任性) (1)进程间数据问题,因为多进程是完全copy出的子进程,具有独立的单元,数据存储就是问题了 ( ...

  7. 【转】Python多进程编程

    [转]Python多进程编程 序. multiprocessingpython中的多线程其实并不是真正的多线程,如果想要充分地使用多核CPU的资源,在python中大部分情况需要使用多进程.Pytho ...

  8. Python 多进程multiprocessing

    一.python多线程其实在底层来说只是单线程,因此python多线程也称为假线程,之所以用多线程的意义是因为线程不停的切换这样比串行还是要快很多.python多线程中只要涉及到io或者sleep就会 ...

  9. Python多进程池 multiprocessing Pool

    1. 背景 由于需要写python程序, 定时.大量发送htttp请求,并对结果进行处理. 参考其他代码有进程池,记录一下. 2. 多进程 vs 多线程 c++程序中,单个模块通常是单进程,会启动几十 ...

随机推荐

  1. 简述serializable和transient关键字作用

    transient的作用及使用方法,官方解释为: Variables may be marked transient to indicate that they are not part of the ...

  2. 深度学习在CTR预估中的应用

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由鹅厂优文发表于云+社区专栏 一.前言 二.深度学习模型 1. Factorization-machine(FM) FM = LR+ e ...

  3. Java 使用gson 解析 Json

    json数据 { "resultcode": "200", "reason": "successed!", " ...

  4. Spring Boot项目属性配置

    接着上面的入门教程,我们来学习下Spring Boot的项目属性配置. 1.配置项目内置属性 属性配置主要是在application.properties文件里配置的(编写时有自动提示)这里我们将se ...

  5. params关键字、工具辅助类与、加密与解密

    一.params关键字 在C#中如果给方法的参数加上关键字params则会形成可变参数,在传递时可以是0-n个对象. 示例: using System; using System.Collection ...

  6. Redis字符串操作

      字符串命令 (基本用法) GET : 获取给定键的值 SET : 设置给定键的值 DEL : 删除给定键的值(这个命令可以用于任何类型) (自增命令和自减命令) INCR : INCR key-n ...

  7. 在Android开发中替换资源图片不起作用的解决方法

    现象 在android开发中,经常会需要替换res\drawable中的图片,打开res\layout下的文件预览布局页面发现图片已经被替换,但在模拟器或者真实机器上运行时发现该图片并没有被替换,还是 ...

  8. mysql匿名登录 导致创建不了数据库

    常见问题 Access denied for user ''@'localhost' to database 'web02' //web02是我自己创建的数据库 原因分析:mysql数据库的user表 ...

  9. Linux常用基本命令( tree, pwd, cd )

    pwd与cd命令 >pwd命令是“print working directory”中每个单词的首字母缩写,其功能是显示当前工作目录的绝对路径.在实际工作中,我们在命令行操作命令时,经常会在各个目 ...

  10. HDU3081(KB11-N 二分答案+最大流)

    Marriage Match II Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others ...