文档章节

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 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
09/04
0
0
Python标准库10 多进程初步 (multiprocessing包)

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

osDaniel
2014/09/21
0
0
python多进程并发之multiprocessing

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

_Change_
2017/11/03
0
0
python--多进程的用法详解实例

想让python实现多进程(multiprocessing),我们要先区分不同的操作系统的不同之处。 Linux操作系统下提供了一个fork()系统调用,普通函数调用一次返回一次,fork()调用一次返回两次,因为操作...

山有木兮有木兮
05/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

node上的redis调用优化示例

Node.js读写数据到influxDB,目前已经有一个库node-influx, 这个库功能非常强大,但是我个人使用这个库的时候,遇到无法解决的问题。 使用curl都可以写数据到influxDB,但是用node-influx总是...

前端攻城老湿
9分钟前
1
0
The setting logImpl is not known

问题: org.apache.ibatis.builder.BuilderException: The setting logImpl is not known. Make sure you spelled it correctly (case sensitive). MyBatis 3.1.1 -jar还没有 logImpl 这个设......

晨猫
20分钟前
1
0
eslint一些规则

一、指定js文件不使用 ESLint 语法检查 1.整个文件范围内禁止规则出现警告 将/* eslint-disable */放置于文件最顶部 /* eslint-disable */alert('foo'); 2.在文件中临时禁止规则出现警告 ...

xiaoge2016
21分钟前
1
0
mac终端常用命令

ls ls,list的简写,列出目录的内容。 -a:显示隐藏文件 -l:以列表方式显示文件信息 -h:配合-l,显示更人性化 配合通配符使用 ls *.txt:显示所有以.txt结尾的文件 ls ?.txt:显示‘任意字符.tx...

xiaobai1315
22分钟前
1
0
java命令行读取配置,和加载jar的方式

--spring.profiles.active=t2,t3,xextest --spring.profiles.include=quartz-jp-Djava.ext.dirs=libs-Dspring.config.location=/data/apps/DBconfig -cp  "config/*"  start.sh......

经常把天聊死的胖子
34分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部