介绍
-
多线程与多进程
进程就是一个程序在一个数据集上的一次动态执行过程。
线程的出现是为了降低上下文切换的消耗,提高系统的并发性,并突破一个进程只能干一样事的缺陷,使到进程内并发成为可能。
通常是单个进程里包含多个线程,cpu上运行的是线程,但是python因为GUI锁导致单个进程只有一个线程,故python里没有多线程一说。
-
并行与并发
有些硬件只有单核处理,然而为了同时运行多个程序(例如同时打开latex和markdown软件)又不因只能按顺序执行而浪费资源故引入切换,即多个进程频繁切换产生同时运行的假象,即并发。
并行是指多个线程同时运行,不用切换。
代码实现
-
Thread类创建
import threading import time def countNum(n): # 定义某个线程要运行的函数 print("running on number:%s" %n) time.sleep(3) if __name__ == '__main__': t1 = threading.Thread(target=countNum,args=(23,)) #生成一个线程实例 t2 = threading.Thread(target=countNum,args=(34,)) t1.start() #启动线程 t2.start() print("ending!")