python 如何将参数传出线程
时间: 2023-11-28 07:59:39 浏览: 58
在 Python 中,可以使用 `threading.Thread` 类来创建一个线程。当创建线程时,可以使用 `args` 参数来传递参数到线程中。例如:
```python
import threading
def worker(num):
print("Worker %d started" % num)
threads = []
for i in range(5):
t = threading.Thread(target=worker, args=(i,))
threads.append(t)
t.start()
```
在上面的例子中,我们创建了 5 个线程,并将它们的编号作为参数传递给 `worker` 函数。在 `Thread` 类的构造函数中,使用 `target` 参数指定要运行的函数,使用 `args` 参数将要传递的参数传递给该函数。
如果要从线程中返回值,则可以使用 `Thread.join()` 方法来等待线程完成,并使用 `return` 语句从函数中返回值。例如:
```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:
result = t.join()
results.append(result)
print("Results:", results)
```
在上面的例子中,我们创建了 5 个线程,并将它们的编号作为参数传递给 `worker` 函数。在 `worker` 函数中,我们返回了传入的参数的两倍。在主程序中,我们使用 `Thread.join()` 方法来等待线程完成并获取返回值,并将返回值存储在 `results` 列表中。最后,我们打印了所有线程的返回值。
阅读全文