python 多进程和子进程1
多进程的缓冲区
#多进程 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的更多相关文章
- Python多进程编程
转自:Python多进程编程 阅读目录 1. Process 2. Lock 3. Semaphore 4. Event 5. Queue 6. Pipe 7. Pool 序. multiproces ...
- Python多进程(1)——subprocess与Popen()
Python多进程方面涉及的模块主要包括: subprocess:可以在当前程序中执行其他程序或命令: mmap:提供一种基于内存的进程间通信机制: multiprocessing:提供支持多处理器技 ...
- Python多进程使用
[Python之旅]第六篇(六):Python多进程使用 香飘叶子 2016-05-10 10:57:50 浏览190 评论0 python 多进程 多进程通信 摘要: 关于进程与线程的对比, ...
- Python多进程multiprocessing使用示例
mutilprocess简介 像线程一样管理进程,这个是mutilprocess的核心,他与threading很是相像,对多核CPU的利用率会比threading好的多. import multipr ...
- python 多进程开发与多线程开发
转自: http://tchuairen.blog.51cto.com/3848118/1720965 博文作者参考的博文: 博文1 博文2 我们先来了解什么是进程? 程序并不能单独运行,只有将程 ...
- Python多进程----从入门到放弃
Python多进程 (所有只写如何起多进程跑数据,多进程数据汇总处理不提的都是耍流氓,恩,就这么任性) (1)进程间数据问题,因为多进程是完全copy出的子进程,具有独立的单元,数据存储就是问题了 ( ...
- 【转】Python多进程编程
[转]Python多进程编程 序. multiprocessingpython中的多线程其实并不是真正的多线程,如果想要充分地使用多核CPU的资源,在python中大部分情况需要使用多进程.Pytho ...
- Python 多进程multiprocessing
一.python多线程其实在底层来说只是单线程,因此python多线程也称为假线程,之所以用多线程的意义是因为线程不停的切换这样比串行还是要快很多.python多线程中只要涉及到io或者sleep就会 ...
- Python多进程池 multiprocessing Pool
1. 背景 由于需要写python程序, 定时.大量发送htttp请求,并对结果进行处理. 参考其他代码有进程池,记录一下. 2. 多进程 vs 多线程 c++程序中,单个模块通常是单进程,会启动几十 ...
随机推荐
- 第三章 使用Servlet处理HTTP响应
回顾上一章的知识: Java Servlet是运行在Web服务器或应用服务器上的Java程序 Servlet规范对Servlet功能进行了严格定义 Servlet API与容器进行通讯 Servlet ...
- elasticsearch安装ansj分词器
1.概述 elasticsearch用于搜索引擎,需要设置一些分词器来优化索引.常用的有ik_max_word: 会将文本做最细粒度的拆分.ik_smart: 会做最粗粒度的拆分.ansj等. ...
- mac 入门操作
1. 打开制定目录 在finder里使用command+shift+g 快捷键可以完成到达某路径的操作选中文件/目录,显示简介可以查看路径 2. home end pageUp pageDown 在苹 ...
- 线性回归浅谈(Linear Regression)
在现实生活中普遍存在着变量之间的关系,有确定的和非确定的.确定关系指的是变量之间可以使用函数关系式表示,还有一种是属于非确定的(相关),比如人的身高和体重,一样的身高体重是不一样的. 线性 ...
- 防止 IE 自动跳兼容模式
在HTML <head> 中增加如下: <meta http-equiv="x-ua-compatible" content="IE=edge" ...
- PowerBuilder编程新思维1:扩展(Lua)
前言 PowerBuilder作为开发工具退出一线行列已经很久了,在2019年来谈这样一款老旧的编程工具是否有意义?诚然,PB有着太多硬伤,但还是有它的用武之地的.而且今天讲的这个“新思维”大部分内容 ...
- SQL SERVER中LIKE使用变量类型输出结果不同
前言:Sql Server中LIKE里面使用不同的变量类型导致查询结果不一致的问题,其实看似有点让人不解的现象背后实质跟数据类型的实现有关. 一.我们先来创建示例演示具体操作 CREATE TABLE ...
- css中添加屏幕自适应方法(rem)
css中添加屏幕自适应方法(rem) 只需要在公共css文件中添加下面代码:设计稿以750px,基础字体为20px为例,兼容性高,使用过程中px转化为rem即可 /*竖屏*/ @media scree ...
- new~mac os 给终端命令写alias(及其他常用命令)及软连接
配置执行顺序 优先级 配置 说明 1 /etc/profile 系统级别 —— 不推荐修改 2 /etc/paths 系统级别 —— 不推荐修改 3 ~/.profile 用户设置 4 ~/.bash ...
- java内存结构学习的一种打开方式
用Java开发已经四年,中途学了python,Scala,接触这些开发语言后,总感觉Java就像老奶奶裹脚——又臭又长.然,Java虐我千百遍,我待Java如初恋.聊起Java,不得不谈Java的内存 ...