什么是python多线程呢?简单的理解就是原来是一个工厂里面有一个工人在干活儿,现在是一个工厂里面有好多个工人在干活儿,那么这样子是不是就提高了工作效率,这就是资本家,啊,不,这就是 python
多线程。
1、未使用python多线程技术
都说多线程是效率的提高,那么我们来做个对比吧,首先来看看未使用多线程之前是什么样子的吧,直接上代码:
from datetime import datetime
import time
def Eating():
for i in range(3):
print("正在吃第{}顿饭".format(i))
time.sleep(1)
def Studying():
for i in range(3):
print("运维家第{}篇".format(i))
time.sleep(1)
def Total():
Start = datetime.now()
Eating()
Studying()
Stop = datetime.now()
Total_time = Stop - Start
print("该代码运行时间为:{}".format(Total_time))
if __name__ == '__main__':
Total()
运行结果如下:
正在吃第0顿饭
正在吃第1顿饭
正在吃第2顿饭
运维家0颗心
运维家1颗心
运维家2颗心
该代码运行时间为:0:00:06.035070
从上面的结果来看,他运行了
6
秒钟,那么我们使用多线程之后看看呢;
2、使用python多线程技术
import threading
from datetime import datetime
import time
def Eating():
for i in range(3):
print("正在吃第{}顿饭".format(i))
time.sleep(1)
def Studying():
for i in range(3):
print("运维家{}颗心".format(i))
time.sleep(1)
def Total():
Start = datetime.now()
# Eating()
# Studying()
T1 = threading.Thread(target=Eating) # 创建线程
T2 = threading.Thread(target=Studying)
T1.start() # 启动线程
T2.start()
T1.join() # 在该线程结束之前,主线程一直处于等待状态
T2.join()
Stop = datetime.now()
Total_time = Stop - Start
print("该代码运行时间为:{}".format(Total_time))
if __name__ == '__main__':
Total()
运行结果如下:
正在吃第0顿饭
运维家0颗心
正在吃第1顿饭
运维家1颗心
正在吃第2顿饭
运维家2颗心
该代码运行时间为:0:00:03.023333
从上面我们就可以看到他的最直观的时间变化,本来一个人干的活儿,现在通过
python
的多线程
threading
技术,变成了两个人干,这样子的话就减少了一半的时间。
3、python查看线程数量和当前线程的名字
方法:
threading.enumerate() # 查看线程数量
threading.current_thread() # 查看当前线程的名字
放到上面的代码中之后,总体代码如下:
剩余内容请转至VX公众号 “运维家” ,回复 “183” 查看。
------ “运维家” ,回复 “183” ------
------ “运维家” ,回复 “183” ------
------ “运维家” ,回复 “183” ------
系统运维工程师,运维工程师技能要求,成都运维工程师驻场开发收费标准,t3网络运维工程师,运维工程师社会需求,运维工程师修炼手册;
oppo高级运维工程师社招,运维工程师员招聘要求,中级运维工程师技术水平,大数据运维工程师月薪多少,运维工程师的个人发展计划,应届生面试运维工程师穿着;