python3 线程实例

颜谦熙 3个月前 39浏览 0评论

Python3 的线程实例是一个轻量级的执行流,可以并行执行,提高并发性和处理效率。在 Python3 中,线程类是 threading,其中常用的方法有创建线程、启动线程、添加线程锁和等待线程等等。以下是一个线程实例的示例:

import threading

class MyThread(threading.Thread):
    def __init__(self, num):
        threading.Thread.__init__(self)
        self.num = num

    def run(self):
        print("Thread", self.num, "running")

if __name__ == "__main__":
    threads = []
    for i in range(5):
        t = MyThread(i)
        threads.append(t)
        t.start()

    for t in threads:
        t.join()

    print("All threads finished")

这个示例中,我们首先定义了一个继承自 threading.Thread 的 MyThread 类,每个 MyThread 实例都有一个 num 属性,并重写了父类的 run() 方法。在主函数中,我们创建了 5 个 MyThread 的实例,并将它们添加到一个列表中,再逐个启动每个线程。最后,我们使用 join() 方法等待所有线程完成,然后输出 "All threads finished"。

需要注意的是,Python3 使用了全局解释器锁 (GIL),这意味着在同一时间只有一个线程在执行 Python 代码,所以多线程并不能利用多核处理器。因此在不需要 CPU 密集型的任务时可以使用线程,否则应该考虑使用多进程来充分利用 CPU 资源。