博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 多进程和子进程1
阅读量:4667 次
发布时间:2019-06-09

本文共 1123 字,大约阅读时间需要 3 分钟。

多进程的缓冲区

1 #多进程 process.py 2 from  multiprocessing  import Process,current_process  3 import time 4 def func1(): 5     print('ahhahaah   func1') 6     time.sleep(10)#睡眠10s 7 ​ 8 def func2(): 9     print('heiheihei  func2')10     time.sleep(10)#睡眠10s11 ​12 def func3():13     print('lalalalll  func3')14     time.sleep(10)#睡眠10s15 def main():16     17     p1 = Process(target = func1,name = 'func 1 ')#这里就当新打开了页面执行函数18     p2 = Process(target = func2,name = 'func 2 ')#这里就当新打开了页面执行函数19     p3 = Process(target = func3,name = 'func 3 ')#这里就当新打开了页面执行函数20     list1 = [p1,p2,p3]21     print('这是 主进程 ')22     for a in list1:23         a.start()24 ​25 if __name__ == '__main__':26     main()27 ​28 ​29

 

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

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

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

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

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

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

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

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

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

    结果的

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

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

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

  •  

 

转载于:https://www.cnblogs.com/lonelyshy/p/9693737.html

你可能感兴趣的文章
RESTful到底是什么玩意??
查看>>
Oracle创建视图的一个问题
查看>>
(一)线性表
查看>>
hdu 1003 Max Sum (DP)
查看>>
mysql增备
查看>>
[APIO2015]雅加达的摩天楼
查看>>
andorid之帧布局FrameLayout
查看>>
(转,记录用)jQuery页面加载初始化的3种方法
查看>>
C++常量的引用 const
查看>>
51nod 1101 换零钱 【完全背包变形/无限件可取】
查看>>
python单例设计模式(待补充)
查看>>
Binary Tree Inorder Traversal
查看>>
HDU 1394 Minimum Inversion Number (数据结构-线段树)
查看>>
ansible-playbook && Roles && include
查看>>
String s String s=null和String s="a"区别
查看>>
[Alpha阶段]第二次Scrum Meeting
查看>>
关于Java 8 forEach
查看>>
.NET设计模式(1):1.1 单例模式(Singleton Pattern)
查看>>
创建模态对话框和非模态对话框
查看>>
08-图8 How Long Does It Take
查看>>