-
Python创建线程(2种方式)详解
- Python 提供了 _thread 和 threading 两个模块来支持多线程,其中 _thread 提供低级别的、原始的线程支持,以及一个简单的锁
- Python 主要通过两种方式来创建线程:
- 使用 threading 模块的 Thread 类的构造器创建线程。
- 继承 threading 模块的 Thread 类创建线程类。
- threading.Thread 类的如下构造器创建线程:
- init(self, group=None, target=None, name=None, args=(), kwargs=None, *,daemon=None)
- group:指定该线程所属的线程组。目前该参数还未实现,因此它只能设为 None。
- target:指定该线程要调度的目标方法。
- args:指定一个元组,以位置参数的形式为 target 指定的函数传入参数。元组的第一个元素传给 target 函数的第一个参数,元组的第二个元素传给 target 函数的第二个参数……依此类推。
- kwargs:指定一个字典,以关键字参数的形式为 target 指定的函数传入参数。
- daemon:指定所构建的线程是否为后代线程。
- 通过 Thread 类的构造器创建井启动多线程的步骤如下:
- 调用 Thread 类的构造器创建线程对象。在创建线程对象时,target 参数指定的函数将作为线程执行体。
- 调用线程对象的 start() 方法启动该线程。
- 方法:
- threading.current_thread():它是 threading 模块的函数,该函数总是返回当前正在执行的线程对象。
- getName():它是 Thread 类的实例方法,该方法返回调用它的线程名字。
- 程序可以通过 setName(name) 方法为线程设置名字,也可以通过 geName() 方法返回指定线程的名字,这两个方法可通过 name 属性来代替。
- 默认情况下,主线程的名字为 MainThread,用户启动的多个线程的名字依次为 Thread-1、Thread-2、Thread-3、…、Thread-n 等。
-
导入 import threading
-
简单的demo 属于并发:假的多任务
-
每次运行都依次执行函数,先运行完sing(),在运行dance(),总共10秒
-
加入:threading,每次同时运行两个函数,总共5秒
-
举例
-
EdEb9ho-1565610354624)]
-
举例