资源简介

代码片段和文件信息
#coding:utf-8
‘‘‘
第一种方式:使用os模块中的fork方式实现多进程
import os
if __name__ == ‘__main__‘:
print ‘current Process (%s) start ...‘%(os.getpid())
pid = os.fork()
if pid < 0:
print ‘error in fork‘
elif pid == 0:
print ‘I am child process(%s) and my parent process is (%s)‘(os.getpid()os.getppid())
else:
print ‘I(%s) created a chlid process (%s).‘(os.getpid()pid)
‘‘‘
‘‘‘
第二种方法:使用multiprocessing模块创建多进程
import os
from multiprocessing import Process
# 子进程要执行的代码
def run_proc(name):
print ‘Child process %s (%s) Running...‘ % (name os.getpid())
if __name__ == ‘__main__‘:
print ‘Parent process %s.‘ % os.getpid()
for i in range(5):
p = Process(target=run_proc args=(str(i)))
print ‘Process will start.‘
p.start()
p.join()
print ‘Process end.‘
‘‘‘
‘‘‘
multiprocessing模块提供了一个Pool类来代表进程池对象
from multiprocessing import Pool
import os time random
def run_task(name):
print ‘Task %s (pid = %s) is running...‘ % (name os.getpid())
time.sleep(random.random() * 3)
print ‘Task %s end.‘ % name
if __name__==‘__main__‘:
print ‘Current process %s.‘ % os.getpid()
p = Pool(processes=3)
for i in range(5):
p.apply_async(run_task args=(i))
print ‘Waiting for all subprocesses done...‘
p.close()
p.join()
print ‘All subprocesses done.‘
‘‘‘
‘‘‘
Queue进程间通信
from multiprocessing import Process Queue
import os time random
# 写数据进程执行的代码:
def proc_write(qurls):
print(‘Process(%s) is writing...‘ % os.getpid())
for url in urls:
q.put(url)
print(‘Put %s to queue...‘ % url)
time.sleep(random.random())
# 读数据进程执行的代码:
def proc_read(q):
print(‘Process(%s) is reading...‘ % os.getpid())
while True:
url = q.get(True)
print(‘Get %s from queue.‘ % url)
if __name__==‘__main__‘:
# 父进程创建Queue,并传给各个子进程:
q = Queue()
proc_writer1 = Process(target=proc_write args=(q[‘url_1‘ ‘url_2‘ ‘url_3‘]))
proc_writer2 = Process(target=proc_write args=(q[‘url_4‘‘url_5‘‘url_6‘]))
proc_reader = Process(target=proc_read args=(q))
# 启动子进程proc_writer,写入:
proc_writer1.start()
proc_writer2.start()
# 启动子进程proc_reader,读取:
proc_reader.start()
# 等待proc_writer结束:
proc_writer1.join()
proc_writer2.join()
# proc_reader进程里是死循环,无法等待其结束,只能强行终止:
proc_reader.terminate()
‘‘‘
‘‘‘
pipe进程间通信
import multiprocessing
import random
import timeos
def proc_send(pipeurls):
for url in urls:
print “Process(%s) send: %s“ %(os.getpid()url)
pipe.send(url)
time.sleep(random.random())
def proc_recv(pipe):
while True:
print “Process(%s) rev:%s“ %(os.getpid()pipe.recv())
time.sleep(random.random())
‘‘‘
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-07-13 09:08 SpiderBook-master\
文件 1059 2017-07-13 09:08 SpiderBook-master\.gitignore
目录 0 2017-07-13 09:08 SpiderBook-master\.idea\
文件 345 2017-07-13 09:08 SpiderBook-master\.idea\SpiderBook.iml
目录 0 2017-07-13 09:08 SpiderBook-master\.idea\inspectionProfiles\
文件 228 2017-07-13 09:08 SpiderBook-master\.idea\inspectionProfiles\profiles_settings.xm
文件 225 2017-07-13 09:08 SpiderBook-master\.idea\misc.xm
文件 272 2017-07-13 09:08 SpiderBook-master\.idea\modules.xm
文件 1066 2017-07-13 09:08 SpiderBook-master\.idea\workspace.xm
文件 109693 2017-07-13 09:08 SpiderBook-master\122页.png
文件 91749 2017-07-13 09:08 SpiderBook-master\123页.png
文件 73704 2017-07-13 09:08 SpiderBook-master\138页.png
文件 71151 2017-07-13 09:08 SpiderBook-master\182页.png
文件 1061 2017-07-13 09:08 SpiderBook-master\LICENSE
文件 23811 2017-07-13 09:08 SpiderBook-master\P113.jpg
文件 25725 2017-07-13 09:08 SpiderBook-master\P137.jpg
文件 26623 2017-07-13 09:08 SpiderBook-master\P145.jpg
文件 30899 2017-07-13 09:08 SpiderBook-master\P21.jpg
文件 38348 2017-07-13 09:08 SpiderBook-master\P29.jpg
文件 45205 2017-07-13 09:08 SpiderBook-master\P58.jpg
文件 711 2017-07-13 09:08 SpiderBook-master\README.md
目录 0 2017-07-13 09:08 SpiderBook-master\ch01\
文件 3054 2017-07-13 09:08 SpiderBook-master\ch01\1.4.1.py
文件 2343 2017-07-13 09:08 SpiderBook-master\ch01\1.4.2.py
文件 1138 2017-07-13 09:08 SpiderBook-master\ch01\1.4.3.py
文件 3915 2017-07-13 09:08 SpiderBook-master\ch01\1.4.4.py
文件 1580 2017-07-13 09:08 SpiderBook-master\ch01\1.5.1.py
文件 767 2017-07-13 09:08 SpiderBook-master\ch01\1.5.2.py
文件 6 2017-07-13 09:08 SpiderBook-master\ch01\ch01.md
目录 0 2017-07-13 09:08 SpiderBook-master\ch02\
文件 3931 2017-07-13 09:08 SpiderBook-master\ch02\2.1.1.html
............此处省略201个文件信息
- 上一篇:bayes分类python
- 下一篇:PythonCard
相关资源
- Instant Pygame for Python Game Development How
- Biopython Tutorial
- Think Python 2nd
- 一个小小的表白程序(python)
- Python课堂笔记(高淇400集第一季)
- 二级考试python试题12套(包括选择题和
- pywin32_python3.6_64位
- python+ selenium教程
- PycURL(Windows7/Win32)Python2.7安装包 P
- 英文原版-Scientific Computing with Python
- 7.图像风格迁移 基于深度学习 pyt
- 基于Python的学生管理系统
- A Byte of Python(简明Python教程)(第
- Python实例174946
- Python 人脸识别
- Python 人事管理系统
- 一个多线程智能爬虫,爬取网站小说
- 基于python-flask的个人博客系统
- 计算机视觉应用开发流程
- python 调用sftp断点续传文件
- python socket游戏
- 基于Python爬虫爬取天气预报信息
- python函数编程和讲解
- 顶点小说单本书爬虫.py
- Python开发的个人博客
- 基于python的三层神经网络模型搭建
- python实现自动操作windows应用
- python人脸识别(opencv)
- python 绘图(方形、线条、圆形)
- python疫情卡UN管控
评论
共有 条评论