python Thread

第一种

import threading
import time


def a(url):
    print(f"--------start1:{url}---------")
    time.sleep(2)
    print(f"--------end1:{url}-----------")


def b(url):
    print(f"--------start2:{url}---------")
    time.sleep(4)
    print(f"--------end2:{url}-----------")


if __name__ == '__main__':
    thread1 = threading.Thread(target=a, args=("baidu.com",))
    thread2 = threading.Thread(target=b, args=("taobao.com",))
    start_time = time.time()
    # thread1、thread2守护main线程
    # thread1.setDaemon(True)
    # thread2.setDaemon(True)
    thread1.start()
    thread2.start()
    # 优先执行thrad1、thread2,thrad1、thread2并发执行,再执行main现场
    thread1.join()
    thread2.join()

    print("执行时间:", time.time() - start_time)

第二种,继承方式,重写run()

import threading
import time


class A(threading.Thread):

    def __init__(self,name):
        super().__init__(name=name)

    def run(self):
        print(f"--------start1---------")
        time.sleep(2)
        print(f"--------end1-----------")


class B(threading.Thread):

    def __init__(self, name):
        super().__init__(name=name)

    def run(self):
        print(f"--------start2---------")
        time.sleep(4)
        print(f"--------end2-----------")


if __name__ == '__main__':
    a = A("aaaaa")
    b = B("bbbbb")
    start_time = time.time()
    # a.setDaemon(True)
    # b.setDaemon(True)
    a.start()
    b.start()

    a.join()
    b.join()


    print("执行时间:",time.time()-start_time)

你可能感兴趣的:(python,开发语言)