Python 多线程

Posted 圣兰学院

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 多线程相关的知识,希望对你有一定的参考价值。

python 提供两种方式来创建线程:

  • 直接调用 threading.Thread 类的构造器函数
  • 继承 threading.Thread 类,重写父类的 run() 方法

1. 直接调用函数

__init__(self,group=None,target=None,name=None,args=(),kwargs=None,daemon=None)

target :指定该线程要调用的目标方法。只传函数名。

args :指定一个元组,以位置参数的形式为 target 指定的函数传入参数。

kwargs :指定一个字典,以关键字参数的形式为 target 指定的函数传入参数。

daemon :指定所构建的线程是否为后台线程。

import threading
import time

def run(n):
    print("task", n)
    time.sleep(2)

start_time = time.time()
for i in range(2):
    t = threading.Thread(target=run, args=(i,))    # 创建线程
    t.start()    # 启动线程

print(time.time()-start_time)

2. 继承 threading.Thread 类

import threading
import time

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

    def run(self):
        print("task", self.n)

start_time = time.time()
for i in range(2):
    t = MyThread(i)
    t.start()

print(time.time()-start_time)

以上是关于Python 多线程的主要内容,如果未能解决你的问题,请参考以下文章

[Python3] 043 多线程 简介

python中的多线程和多进程编程

多线程 Thread 线程同步 synchronized

多个用户访问同一段代码

在 Python 多处理进程中运行较慢的 OpenCV 代码片段

线程学习知识点总结