前言:上一篇文章我们讲了多线程的使用场景,通过一个简单的例子了解了多线程在IO密集型任务中确实能提高代码执行效率,接下来我们聊一聊多线程的创建方式。
一、实例化Thread类创建
import requests
import threading
#干活函数,请求测试派,其他的啥都不干
def get_url(url):
requests.get(url=url)
if __name__ == '__main__':
url = "http://testingpai.com/recent"
threads = []
for i in range(50):
#创建子线程
th = threading.Thread(target=get_url,args=(url,))
threads.append(th)
#启动子线程
for val in threads:
val.start()
#主线程等待子线程执行结束再结束
for val in threads:
val.join()
二、继承Thread重写run方法创建
import requests
import threading
class TestThreading(threading.Thread):
def __init__(self):
#调用父类初始化函数进行必要的初始化
super().__init__()
#重写run方法
def run(self):
thread_name = threading.current_thread().name
thread_id = threading.current_thread().ident
print('子线程id={},子线程名称={}:'.format(thread_id, thread_name))
print("干活的函数逻辑写在这里")
res = requests.get(url="http://testingpai.com/recent")
print(res)
if __name__ == '__main__':
#启动子线程
for i in range(3):
th = TestThreading()
th.start()
欢迎来到testingpai.com!
注册 关于