python 实现一个带参数带返回值的多线程程序
时间: 2023-07-13 07:14:24 浏览: 103
如何创建带参数多线程程序
3星 · 编辑精心推荐
以下是一个带参数和返回值的多线程 Python 程序的示例代码:
``` python
import threading
def worker(num):
"""线程要执行的任务"""
print('Worker %d started' % num)
return num * 2
threads = []
results = []
for i in range(5):
t = threading.Thread(target=worker, args=(i,))
threads.append(t)
t.start()
for t in threads:
t.join()
results.append(t.result)
print(results)
```
在上面的代码中,我们定义了一个 `worker` 函数作为线程要执行的任务,它接受一个 `num` 参数,并返回 `num * 2` 的结果。然后我们用一个 `for` 循环创建 5 个线程,并将它们的 `target` 参数设置为 `worker` 函数,`args` 参数设置为一个元组 `(i,)`,其中 `i` 是循环变量。最后,我们将每个线程添加到一个列表中,然后调用 `start` 方法启动线程。
在所有线程都执行完毕后,我们使用 `join` 方法等待每个线程完成,并将它们的结果添加到一个 `results` 列表中。最后,我们输出 `results` 列表,它包含了每个线程的返回值。
需要注意的是,线程的启动顺序和执行顺序是不确定的,它们可能会交错执行。同时,由于多个线程可能会同时修改 `results` 列表,因此需要使用线程安全的方式来操作列表。
阅读全文