threading之间传递参数
时间: 2023-11-09 16:03:10 浏览: 37
在使用 `threading` 模块创建线程时,可以通过 `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()
```
在上面的例子中,我们定义了一个 `worker` 函数,并且在创建线程时,将参数 `i` 通过 `args` 参数传递到了线程中。在 `worker` 函数中,我们可以通过访问 `args` 元组中的元素来获取传递的参数值。
另外,如果需要向线程传递多个参数,可以将它们打包成一个元组或字典,然后通过 `args` 参数传递。例如:
```python
import threading
def worker(name, age):
print("Worker %s is %d years old" % (name, age))
threads = []
for i in range(5):
t = threading.Thread(target=worker, args=(("Alice", i+20),))
threads.append(t)
t.start()
```
在上面的例子中,我们将两个参数打包成了一个元组 `("Alice", i+20)`,并且将其作为一个元素传递给了 `args` 参数。在 `worker` 函数中,我们再次使用了元组的解包语法来获取传递的参数值。