多任务就是可以让一台电脑同时执行多个命令。

以前的单核cpu是怎么做到同时执行多个命令的?(时间片轮转)

——其实以前的单核CPU是让操作系统交替执行命令,每个任务执行0.01秒,这样看起来就像是在同时执行多个命令。就跟手翻动画一样。

并行:真的多任务

并发:假的多任务

线程

  1. 一个程序运行,一定有一个执行代码的东西,这个东西称作 《线程》
    就像光标一行一行的往下移动,执行每一行代码
    多个线程,就会出现多个光标,分为主线程和子线程
  2. 当主线程执行完所有代码,就要等子线程,当子线程执行完,主线程才能结束。(帮子线程处理垃圾)
    只有主线程结束,程序才结束。不是程序结束,主线程才结束。
  3. t1 = threading.Thread(target = sing)    应该把函数名sing给target,不能用sing(),sing()表示调用函数
    t1.start()  表示创建子线程,
    threading.enumerate()    用来获取当前所有的线程,与以前的用法不同
    线程的运行是没有先后顺序的,如果子线程没有延时,很快就执行完,那么当你调用时,获得的列表只有主线程
  4. 在创建对象时 线程没有创建
    当调用 xx.start() 时线程才创建并开始执行

当调用的方法比较复杂时,可以把他封装成类,start会自动调用run方法,然后在run里面调用类里面的其他方法

xx.start()只创建了一个线程,执行 run()  如果里面有其他方法,在run()调用
Python 多任务(线程) day1-LMLPHP

05-11 20:01