多任务

1、什么是线程(thread)?

线程是操作系统能够进行运算调度的最小单位,它包含在进程中,是进程中的实际运作单位。

一个进程可以并发多个线程,每条线程并行执行不同的任务。

简单理解:一一堆指令令

2、什么是进程(process)?

正在进行的一个过程一个任务,而执行任务的是CPU,进程是一个抽象的概念。

程序是菜谱,进程是做菜的过程。

3、线程和进程的区别

  • 线程是执行的指令集,进程是资源的集合
  • 启动速度:线程比进程快
  • 运行速度:没有可比性
  • 线程共享创建它的进程的内存空间,进程的内存是独立的
  • 交互:同一个进程之间的线程可以进行交流,两个进程之家通信必须通过一个中间代理来实现
  • 创建:新线程创建很简单,新进程创建需要克隆父进程
  • 线程之间是平等的,没有隶属关系,可以控制和操作同一线程里的其他线程。但是进程只能操作子进程

4、同步和异步

同步:就是指一个进程在执行某个请求的时候,若该请求需要一段时间才能返回信息,那么这个进程将会一直等待下去,直到收到返回信息才继续执行下去

异步:是指进程不需要一直等下去,而是继续执行下面的操作,不管其他进程的状态。当有消息返回时系统会通知进程进行处理,这样可以提高执行的效率。

扫描二维码关注公众号,回复: 137624 查看本文章

栗子:打电话的过程就是同步通信,发短信时就是异步通信

5、并行与并发

并行:具有处理多个任务的能力

并发:具有同时处理多个任务的能力

6、代码

单任务现象:

 1 from time import sleep
 2 def run():
 3     while True:
 4         print("不运行")
 5         sleep(1)
 6 if __name__=="__main__":
 7     while True:
 8         print("王者小喵喵")
 9         sleep(1.2)
10 #不会执行到run方法,只有循环结束才可以执行
11 run()

 

猜你喜欢

转载自www.cnblogs.com/xjmlove/p/9001312.html