python多线程编程

  • 背景。为什么需要多线程
  • 进程VS线程
  • 多线程的切换
  • python多线程编程实现方式

先写个总括,后面再慢慢补充,细化,修正

背景

IO速度远低于计算速度,以及CPU成本降低,如何高效利用多核CPU是多进程和多线程产生的背景

线程VS进程

使用一个简单的例子说明,使用word编辑文档时,系统会为使用word文档创建一个进程,word文档进程会在后台创建进程进行拼写检查,字数统计。应用程序运行时,系统会为应用程序创建一个进程,并分配相应的资源,包括处理器,内存,寄存器等。应用程序了完成子任务,会创建多个线程,所有线程共享进程内的资源。由于进程之间的资源独立,多进程编程关键一点是进程直接如何进行通信。同一进程下的线程共享资源,因此如何确保多线程下安全访问共享资源是和线程间通信多线程编程的关键。

线程切换

线程切换原因包括等待IO,CPU使用时间没满,以及程序阻塞。具体切换过程有时间时候补充

python多线程编程

当前python多线程编程下共享资源访问保护方式包括
lock
rlock
信号量
事件
condition等

你可能感兴趣的:(笔记)