提起线程和进程,有很多小伙伴就会有种被考试支配的感觉,线程和进程是操作系统中十分重要的概念。我们再一起复习一下 线程 和 进程 的区别:
- 一个程序至少要有一个进程,一个进程至少要有一个线程,也就是说进程包含线程,线程是更小的单位。
- 进程拥有独立的内存单元,属于同一个进程的多个线程会共享同一个进程的内存。
- 进程可以独立运行,但是线程必须依附于进程运行。
现在相信小伙伴们已经回忆起进程和线程是什么了。那么什么又是多线程呢?多线程就是在一个进程中的多个线程并发运行,以处理不同的任务。注意,这里的并发并不是真正地同时进行(区别于并行),在同一时间,cpu只能处理一条线程,多线程并发执行也就是cpu快速地在多条线程之间切换,当cpu切换速度很快时,我们使用计算机的时候并不会察觉到cpu的切换,计算机上运行的多个程序都会以很高地实时性响应用户的操作,这也是多线程的潜在优势,但是这种高响应性能也增加了代码的复杂性,需要小伙伴们在开发程序的时候,要多考虑一下,业务场景是否真的适合多线程。
下面我们演示一下多线程定义和查看线程的信息:
import threading
def main():
# 新添加一个thread
added_thread = threading.Thread()
# 需要给线程一个功能
print(threading.active_count()) # 可以查看当前有多少线程被激活
print(threading.enumerate()) # 查看所有被激活线程的名字
print(threading.current_thread()) # 查看当前线程是什么,正在运行print语句的线程
if __name__ == '__main__':
main()
本篇到这里就要结束了,我们只是介绍了一下多线程的基础知识,对于多线程的更深入的讲解不会在本篇提现,希望小伙伴们能够掌握多线程的定义,跟多线程混个脸熟就可以了,后续待小伙伴们基础不断牢固,我们会再讲解更深的使用部分。