什么是线程?
在一个进程的内部,要同时干多个事情,就需要同时执行多个子任务
我们把进程内的这些子任务成为线程
线程通常叫做轻型的进程。
线程是共享内存空间的并发执行的多任务
每个线程共享进程的资源
线程是最小的执行单元,而进程最少由一个线程组成
如何调度进程和线程,由操作系统决定,程序与用户无法决定
模块
1. _thread 模块 (低级模块,C)
2. threading 模块 (高级模块)
import threading
import time
def run():
print('子线程(%s)启动' % threading.current_thread().name)
time.sleep(1)
# 实现线程的功能
print('子线程(%s)结束' % threading.current_thread().name)
if __name__ == '__main__':
# 任何进程默认启动一个线程,称为主线程,主线程可以启动新的子线程
# current_thread() 返回当前线程的实例
print('主线程(%s)启动' % threading.current_thread().name)
# 创建子线程 加 name 为 子线程名称 不传则默认 Thread-1 Thread-2 ...
t = threading.Thread(target=run, name='sun')
t.start()
# 等待子线程结束
t.join()
print('主线程(%s)结束' % threading.current_thread().name)