pytnon—线程,进程
2021-02-19 21:17
标签:主线程 back port pass time reading word tno count 一、what线程,what进程 1、进程 是资源的整合。一个程序对于操作系统来说就是一个进程、例如打开浏览器、打开word等都是打开一个进程。 2、线程 是程序里面的最小执行单元。帮助进程干活的,线程之间相互独立 多线程多用于处理IO密集型任务频繁写入读出,cpu负责调度,消耗的是磁盘空间 3、线程是包含在一个进程里面的,一个进程可以有多个线程 4、一个进程里面默认有一个线程 5、主线程与子线程,一个程序默认有一个主线程,由主线程来启动子线程 导入模块 传统方式(单线程) 多线程方式 上面的代码,总共有4个线程,循环里面启动了3个线程,还有一个主线程在运行所以结果如下 主线程运行结束打印运行时间,后等待子线程结束 查看当前线程数和线程 pytnon—线程,进程 标签:主线程 back port pass time reading word tno count 原文地址:https://www.cnblogs.com/cwl-bj/p/12683621.htmlimport threading
def down_load():
time.sleep(5)
print(‘运行完成‘)
for i in range(3):
down_load()
for i in range(3):
t=threading.Thread(target=down_load) #实例化一个线程
t.start() #开始运行
down_load不要带(),不然属于自己调用了
线程之间相互独立t1=time.time()
for i in range(3):
t=threading.Thread(target=down_load) #实例化一个线程
t.start() #开始运行
print(‘运行时间‘,time.time()-t1)
运行时间 0.0009999275207519531
运行完成
运行完成
运行完成
print(threading.active_count()) #查看 线程数
print(threading.current_thread()) #查看 当前线程
主线程等待子线程结束(并行)
def down_load():
time.sleep(5)
print(‘运行完成‘)
# 多线程
t1=time.time()
for i in range(3):
t=threading.Thread(target=down_load)
t.start()
# t.join() #这里是树形结构不是并行结构
# t.join() #这里等待的是最后一个线程结束的时间
while threading.activeCount()!=1: #主线程等待子线程结束
pass