目标:
1:理解主线程与子线程的关系
2:知道使用 threading.Thread 模块的类创建线程(子线程)对象(threading是模块,Thread是类)
3:知道 threading.Thread 类的 target 参数能够指定子线程执行的任务
一:什么是线程?主线程与子线程的关系?
什么是线程?线程可以理解为程序执行的一条分支,也是程序执行流的最小单元,线程是被系统独立调动的和分派的基本单元,线程不拥有自己的系统资源,只拥有一点在运行中必不可少的资源,但是它可以与同属于同一个进程的其他线程共享所拥有的资源
主线程:当一个程序启动时,就会建立一个主进程,这个主进程内又包含了一个主线程,简而言之,系统启动就会建立一个主进程,主进程包含主线程,因此程序启动就会建立一个主线程!!
子线程:子线程是由主线程(程序启动自动生成主线程)创建的,建立之后子线程与主线程一起同时向下执行
理解主线程与子线程的关系:
主线程重要的方面:
1:主线程创建子线程
2:主线程通常最后执行结束(子线程全部结束执行主线程才结束),打扫战场,如各种关闭操作
二:threading模块的Thread类创建线程(子线程)步骤
1:导入threading模块
2:利用threading模块的Thread类创建子线程对象
3:利用类的target参数为子线程指定分支任务(例如 target = 函数名,注意函数没有括号)
4:启动创建的子线程,创建子线程对象 . start()
创建步骤代码演示
注意事项:
1:在利用 Thread 类创建的子线程对象用targrt参数指定任务是函数,且没有括号!!!
2:创建的子线程对象只有调用start()方法,子线程才会执行!
3:主线程只有在所有子线程全部执行结束后才结束执行!
4:创建多个子线程对象,利用start()方法启动,因为计算机运算速度超快,故可看做多个子线程是同时启动运行的!
线程实例应用(唱歌跳舞):