目录
进程(Process)是程序的一次执行。每个进程都有自己的地址空间、内存、数据栈以及记录运行轨迹的辅助数据,操作系统管理运行的所有进程,并为这些进程公平分配时间。
线程(Thread)和进程有些相似,不同的是所有线程运行在同一个进程中,共享运行环境。在进程的整个运行过程中,每个线程都只做自己的事,需要时再跟其他线程共享运行的结果。
1 threading模块
threading模块不仅提供了Thread类,还提供了各种非常好用的同步机制。
2 Thread类
实例一:
import threading
from time import sleep
from datetime import datetime
loops = [4,2]
date_time_format = '%Y-%m-%d %H:%M:%S'
def date_time_str(date_time):
return datetime.strftime(date_time,date_time_format)
def loop(n_loop,n_sec):
print(f'线程({n_loop})开始执行:{date_time_str(datetime.now())},先休眠({n_sec})秒')
sleep(n_sec)
print(f'线程({n_loop})休眠结束,结束于:{date_time_str(datetime.now())}')
def main():
print(f'所有线程开始执行:{date_time_str(datetime.now())}')
threads = []
n_loops =range(len(loops))
for i in n_loops:
t = threading.Thread(target=loop,args=(i,loops[i]))#loop:为线程函数,args:传递给线程函数的参数,必须是元组型
threads.append(t)
for i in n_loops: #线程开始