多线程回顾-两种线程使用方法

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))
发布了80 篇原创文章 · 获赞 0 · 访问量 1868

猜你喜欢

转载自blog.csdn.net/qq_37463791/article/details/105027945