python Thread(如何传参
时间: 2023-06-29 13:15:46 浏览: 141
在 Python 中,可以通过以下两种方式向线程传递参数:
1. 直接传递参数
使用 `Thread` 类的 `args` 参数可以向线程传递参数。 `args` 参数接受一个元组,元组中包含了要传递给线程的参数。例如,以下代码向线程传递了两个参数 `arg1` 和 `arg2`:
```python
import threading
def my_func(arg1, arg2):
print(arg1, arg2)
t = threading.Thread(target=my_func, args=('hello', 'world'))
t.start()
```
2. 继承 `Thread` 类并添加成员变量
还可以通过继承 `Thread` 类并添加成员变量的方式向线程传递参数。例如,以下代码定义了一个名为 `MyThread` 的类,并添加了一个成员变量 `arg`:
```python
import threading
class MyThread(threading.Thread):
def __init__(self, arg):
threading.Thread.__init__(self)
self.arg = arg
def run(self):
print(self.arg)
t = MyThread('hello')
t.start()
```
以上代码中,我们定义了一个名为 `MyThread` 的类,该类继承自 `Thread` 类。在 `MyThread` 类的 `__init__` 方法中,我们添加了一个成员变量 `arg`,并将传递进来的参数赋值给该变量。在 `MyThread` 类的 `run` 方法中,我们打印了 `arg` 变量的值。最后,我们创建了一个 `MyThread` 对象 `t`,并将字符串 `'hello'` 作为参数传递给了它。启动线程后,线程会执行 `run` 方法,并输出 `'hello'`。
阅读全文