本篇将要介绍python的并行化,及简单的应用。主要介绍map函数的使用,一手包办了序列操作、参数传递和结果保存等一系列的操作。
首先是引入库:
from multiprocessing.dummy import Pool
pool=Pool(4)
results=pool.map(爬取函数,网址列表)本文将一个简单的例子来看一下如何使用map函数以及这种方法与普通方法的对比情况。impor...
分类:
编程语言 时间:
2015-08-25 16:54:53
阅读次数:
191
1、多进程,multiprocessing模块, 进程间的通信:Queue[队列],Pipes[管子]2、多线程, 注意:线程公用变量,混乱 解决方法Lock:因为只有一个锁,所以当要执行统一个函数的时候,只有在解锁的前提下才能执行。balance = 0lock = threading.Lock....
分类:
编程语言 时间:
2015-08-25 15:42:57
阅读次数:
193
Python多进程方面涉及的模块主要包括:subprocess:可以在当前程序中执行其他程序或命令;mmap:提供一种基于内存的进程间通信机制;multiprocessing:提供支持多处理器技术的多进程编程接口,并且接口的设计最大程度地保持了和threading模块的一致,便于理解和使用。 ...
分类:
编程语言 时间:
2015-08-17 01:01:02
阅读次数:
459
#-*-coding:utf-8-*-
__author__=‘magicpwn‘
importmultiprocessing
importQueue
defworker():
print‘worker‘
return
q=Queue.Queue(1000)
defproducer():
foriinrange(1000):
q.put(i)
defconsumer():
foriinrange(1000):
printq.get(),q.qsize()
#进程不能使用queue
#..
分类:
编程语言 时间:
2015-08-15 18:30:21
阅读次数:
187
Python在2.6引入了多进程的机制,并提供了丰富的组件及api以方便编写并发应用。multiprocessing包的组件Process, Queue, Pipe, Lock等组件提供了与多线程类似的功能。使用这些组件,可以方便地编写多进程并发程序。
Process
Process等同于java.lang.Thread。start方法用以启动某个进程。一个简单...
分类:
编程语言 时间:
2015-08-11 18:49:47
阅读次数:
135
Python发挥不了多核处理器的性能(据说是受限于GIL,被锁住只能用一个CPU核心,关于这个,这里有篇文章),但是可以通过Python的multiprocessing(多进程)模块或者并行运算模块(例如,pprocess)来使用到多核。测试代码如下,程序先后分别测试了串行运算、并行运算以及多线程和...
分类:
编程语言 时间:
2015-08-10 17:32:22
阅读次数:
142
我们在编写程序的时候经常喜欢这样写代码import MySQLdb
import time
from multiprocessing import Processconn = MySQLdb.connect('localhost', 'vearne', 'xx', 'test')def f(name):
for i in xrange(10):
cursor = conn.c...
分类:
编程语言 时间:
2015-07-15 15:07:06
阅读次数:
650
python多线程是伪多线程,同时间最多只有一个线程在执行,但这样并不代码python的多线程没有作用,对于IO密集型的系统,python的多线程还是能极大的提升性能~
关于python伪多线程可以去了解python GIL的概念。
以下代码涉及python多线程,多进程,进程池相关操作:
#encoding:utf-8
from multiprocessing import Pool,Ma...
分类:
编程语言 时间:
2015-07-14 13:49:10
阅读次数:
330
1 #-*- coding:utf-8 -*- 2 from multiprocessing import Process,Queue 3 import os,time,random 4 def write(q): 5 for value in ['A','B','C']: 6 ...
分类:
编程语言 时间:
2015-07-07 10:58:01
阅读次数:
169
1 #-*- coding:utf-8 -*- 2 from multiprocessing import Pool 3 import os,time,random 4 5 def long_time_task(name): 6 print 'Run task name %s and p...
分类:
编程语言 时间:
2015-07-07 10:50:03
阅读次数:
128