import threading
import time
"""
方法1:函数名传递
def get_detail_html(url):
print(" get detail html started")
time.sleep(2)
print("get detail html end")
def get_detail_url(url):
print(" get detail url started")
time.sleep(2)
print("get detail url end")
if __name__ == '__main__':
thread1 = threading.Thread(target=get_detail_html,args=("",))
thread2 = threading.Thread(target=get_detail_url,args=("",))
# thread1.setDaemon(True) # 守护线程(主线程退出子线程kill)
# thread2.setDaemon(True)
start_time = time.time()
thread1.start()
thread2.start()
thread1.join()# 线程阻塞
thread2.join()
print("时间是:{}".format(time.time()-start_time))
"""
# 2.通过继承Thread实现多线程
class GetDetailHtml(threading.Thread):
def __init__(self,name):
super().__init__(name=name)
def run(self):
print(" get detail html started")
time.sleep(2)
print("get detail html end")
class GetDetailUrl(threading.Thread):
def __init__(self,name):
super().__init__(name=name)
def run(self) -> None:
print(" get detail url started")
time.sleep(2)
print("get detail url end")
if __name__ == '__main__':
thread1 = GetDetailHtml("get_detail_html")
thread2 = GetDetailUrl("get_detail_url")
start_time = time.time()
thread1.start()
thread2.start()
thread1.join() # 线程阻塞
thread2.join()
print("时间是:{}".format(time.time() - start_time))
多线程回顾-两种线程使用方法
猜你喜欢
转载自blog.csdn.net/qq_37463791/article/details/105027945
今日推荐
周排行