📜  带 args python 的线程(1)

📅  最后修改于: 2023-12-03 15:25:26.156000             🧑  作者: Mango

带参数的 Python 线程

在 Python 中,threading 模块提供了一种创建线程的方式。在创建线程时,可以将参数传递给线程函数。

下面是一个例子:

import threading

def worker(num):
    """线程函数"""
    print(f"Worker {num} starts")
    # do some work
    print(f"Worker {num} ends")

threads = []
for i in range(5):
    thread = threading.Thread(target=worker, args=(i,))
    threads.append(thread)
    thread.start()

在上面的例子中,我们创建了 5 个线程,并将它们的编号作为参数传递给 worker 函数。在 worker 函数中,我们输出了工作开始和工作结束的信息。

运行上面的代码,可以看到输出类似于以下内容:

Worker 0 starts
Worker 1 starts
Worker 2 starts
Worker 3 starts
Worker 4 starts
Worker 0 ends
Worker 1 ends
Worker 2 ends
Worker 3 ends
Worker 4 ends

由于线程是并发执行的,因此输出的顺序不一定与线程创建的顺序相同。

解释

下面是对上面代码的解释:

  1. 我们首先导入了 threading 模块。

  2. 定义了一个函数 worker,它接受一个 num 参数,并输出一些信息。

  3. 创建了一个空的线程列表 threads

  4. 使用 for 循环创建了 5 个线程。在创建线程时,我们传递了两个参数:target 参数是线程函数,args 参数是一个元组,包含了需要传递给线程函数的参数。

  5. 将每个线程添加到线程列表中,并启动线程。

  6. 输出线程工作的开始和结束信息。

总结

上面的例子演示了在 Python 中创建带参数的线程的方式。使用这种方法,我们可以将一些数据传递给线程函数,从而让线程完成一些特定的任务。