threading.Thread的target参数
时间: 2023-06-16 16:05:20 浏览: 61
在 Python 中,`threading.Thread` 类是用于创建新线程的类。它接受一个 `target` 参数,该参数是一个可调用的对象,表示新线程要执行的任务。这个可调用的对象可以是一个函数、方法或任何实现了 `__call__` 方法的对象。
当我们创建一个新的线程时,我们需要指定该线程要执行的任务。这个任务可以封装在一个函数或方法中。在创建 `Thread` 对象时,我们可以通过 `target` 参数将这个函数或方法传递给新线程。例如:
```python
import threading
def my_function():
print("Hello from a thread!")
thread = threading.Thread(target=my_function)
thread.start()
```
在上面的例子中,我们创建了一个名为 `my_function` 的函数,并将其作为 `target` 参数传递给 `Thread` 对象。然后,我们启动了新线程并开始执行该函数。在新线程中,`my_function` 函数将被执行,并输出一条消息。
需要注意的是,`target` 参数接受的可调用对象不应该带有参数,因为它们将在新线程中被调用。如果需要在可调用对象中传递参数,可以使用 `args` 参数将它们传递给新线程。例如:
```python
import threading
def my_function(name):
print(f"Hello, {name} from a thread!")
thread = threading.Thread(target=my_function, args=("Alice",))
thread.start()
```
在上面的例子中,我们将一个字符串参数 `"Alice"` 传递给 `my_function` 函数,并使用 `args` 参数将其传递给新线程。在新线程中,`my_function` 函数将被执行,并输出一条问候消息。