python3 多线程

多线程类似于同时执行多个不同程序

# 模块

Python3 线程中常用的两个模块为:

  • _thread (为兼容已废弃的thread模块)
  • threading(推荐使用)

定义:

threading.Thread(target, args=(), kwargs={}, daemon=None):

创建Thread类的实例。

  • target:线程将要执行的目标函数。
  • args:目标函数的参数,以元组形式传递。
  • kwargs:目标函数的关键字参数,以字典形式传递。
  • daemon:指定线程是否为守护线程。

target指定执行的函数,args可以传递多个值,kwargs可以传递多个键值对,daemon守护进程(不懂)

# 线程方法

# __init__

在创建对象时,自动调用__init__方法

__init__方法初始化线程对象

__init__(self, group=None, target=None, name=None, args=(), kwargs={}, *, daemon=None):

thread = threading.Thread(target=hello)

start(),启动线程

join(),等待线程结束

# 示例

import threading
import time


def hello(name):
    print("hello, %s" % name)
    time.sleep(0.5)

# 创建一个线程(对象)
thread = threading.Thread(target=hello, args=("world",))
print(type(thread))
# 启动线程 将调用线程的run()方法。
thread.start()
# 等待线程结束 默认情况下,join()会一直阻塞,直到被调用线程终止。如果指定了timeout参数,则最多等待timeout秒。
thread.join()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
最后一次更新于: 2024/10/13, 18:03:11