码迷,mamicode.com
首页 > 编程语言 > 详细

进程和线程

时间:2017-11-29 18:19:05      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:sub   高级   大量   进程   multi   nic   调用   同步   完成   

多进程:multiprocessing

1、multiprocessing模块是跨平台版本的多进程模块。

2、multiprocessing模块提供了一个process类来代表一个进程对象。

3、创建子进程时,只需要传入一个执行函数和函数的参数,创建一个process实例,用start()方法启动

4、join()方法可以等待子进程结束后再继续往下运行,通常用于进程间的同步。

5、如果要启动大量的子进程,可以用进程池(Pool)的方式批量创建子进程。

6、对Pool对象调用join()方法会等待所有子进程执行完毕,调用join()之前必须先调用close(),调用close()之后就不能继续添加新的process了。

7、子进程,很多时候子进程并不是自身,而是外部进程。我们创建了子进程后,还需要控制子进程的输入和输出。

8、subprocess模块可以让我们非常方便地启动一个子进程,然后控制其输入和输出。

9、如果子进程还需要输入,则可以通过communicate()方式输入

10、process之间肯定是需要通信的,python的multiprocessing模块包装了底层的机制,提供了Queue、Pipes等多种方式来交换数据。

多线程:Threading

1、多任务可以由多进程完成,也可以由一个进程内的多线程完成。

2、进程是由若干个线程组成的,一个进程至少有一个线程。

3、高级语言通常都内置多线程的支持,python也不例外,python的线程是真正的posix thread,绝大多数情况下,使用threading这个高级模块即可。

4、启动一个线程就是把一个函数传入并创建Thread实例,然后调用start()开始执行。

进程和线程

标签:sub   高级   大量   进程   multi   nic   调用   同步   完成   

原文地址:http://www.cnblogs.com/bawu/p/7921410.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!