文档章节

python threding和multiprocessing比较

小利子
 小利子
发布于 2015/02/28 13:55
字数 204
阅读 27
收藏 0
import threading
import time
class x(threading.Thread):
    def __init__(self,i):
        self.a=i 
	super(x,self).__init__()
        self.start()
    def run(self):
	if self.a==2:
		time.sleep(1)
	print self.a
for i in range(4):                     
    x(i)                         #每一个x(i)已经是一个线程了,他们的run方法会被同时调用

输出结果

root@VM-131-71-ubuntu:~/python# python a.py 
0
1
3
4
5
6
7
8
9
2                                #如果x(i)的run方法还是顺序执行,没有并发,那么2不应该在这里打印出来


from multiprocessing import Process
import time
def b(i):
   if i==2:
       time.sleep(3)
   print i
for i in range(10):
   Process(target=b,args=(i,)).start()
3
4
5
1
6
7
8
9
0
2                             #可以看出也是并发的,并且和上面的不一样,每一次的结果都是不一定的.

threding每一次的结果都一定,multiprocessing的结果没有规律.

© 著作权归作者所有

共有 人打赏支持
小利子
粉丝 3
博文 20
码字总数 5788
作品 0
南岸
私信 提问
python多进程Pool.map代码执行时报错

我的机器是win7 64位,python版本2.7,想写一段代码,比较一下本机上多进程和多线程的执行效率,在跑并行执行20次1-10万的乘法运算的代码时执行失败,请帮忙看应该怎么修改: 报错: Traceb...

akira9909
2016/01/10
729
0
Python 2.6 亮点:multiprocessing模块

本来以为Python 2.6只是Python 3.0的过渡版本,不会有太多的新功能。但看到这个2.6的重大改动列表,才发现自己挺落后的。在2.6中新增的multiprocessing模块也绝对是Python 2.6的杀手级应用(...

索隆
2012/05/02
0
0
如何利用多进程优化Python视频应用

如果要用Python播放视频,或者打开摄像头获取视频流,我们可以用OpenCV Python。但是在视频帧获取的时候同时做一些图像识别和处理,可能会因为耗时多而导致卡顿。一般来说,我们首先会想到把...

yushulx
2018/09/04
0
0
python多进程并发之multiprocessing

Python并发之多进程 -- multiprocessing multiprocessing包是Python中的多进程管理包。 它与 threading.Thread类似,可以利用multiprocessing.Process对象来创建一个进程。该进程可以允许放在...

_Change_
2017/11/03
0
0
Python标准库10 多进程初步 (multiprocessing包)

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! 我们已经见过了使用subprocess包来创建子进程,但这个包有两个很大的局限性:1) 我们总是让subproces...

osDaniel
2014/09/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Flink 幕后之内存管理

Flink 幕后之内存管理 引言 目前很多大数据处理框架,例如Hadoop、Spark、Storm、Flink等。它们都基于JVM语言开发(java or scala),运行在JVM上。为了加速合并或者排序(基于磁盘的方式通常...

moyiguke
11分钟前
1
0
风起云涌,看云计算如何赋能媒体行业?

在媒体行业的转型升级中,云计算的出现多维度促进了媒体融合,打破传统媒体行业与新媒体的界限和竞争格局,在媒体素材管理、移动端功能演进的过程中扮演着重要角色,颠覆了传统媒体新闻采编、...

七牛云
14分钟前
0
0
Mybatis开发遇到问题汇总

mybatis 中![CDATA[...]] 在今天使用Mybatis的xml文件中写sql语句时写入了一些特殊字符 如 < > & 等,但解析xml文件的时候会被转义,事实上并不希望它被转义,可以使用<![CDATA[ ]]>. 这是XML...

wangwei2134
22分钟前
0
0
参数验证 @Validated 和 @Valid 的区别

来源:blog.csdn.net/qq_27680317/article/details/79970590 整编:Java技术栈(公众号ID:javastack) Spring Validation验证框架对参数的验证机制提供了@Validated(Spring's JSR-303 规范......

Java技术栈
24分钟前
0
0
JS实现继承的几种方式

前言 JS作为面向对象的弱类型语言,继承也是其非常强大的特性之一。那么如何在JS中实现继承呢?让我们拭目以待。 JS继承的实现方式 既然要实现继承,那么首先我们得有一个父类,代码如下: ...

不负好时光
28分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部