如何让主线程返回子线程运行的值
时间: 2024-05-16 15:13:26 浏览: 53
创建线程,传递参数,取值返回
在 Python 中,可以使用 `Thread` 类创建子线程,并使用 `join()` 方法等待子线程运行结束。如果子线程需要返回结果给主线程,可以使用 `return` 语句将结果返回给一个变量,然后在主线程中使用该变量获取子线程返回的结果。下面是一个简单的例子:
```python
import threading
def square(n):
return n * n
def main():
t = threading.Thread(target=square, args=(10,))
t.start()
t.join()
result = t.result
print(result)
if __name__ == '__main__':
main()
```
在上面的例子中,我们创建了一个 `square` 函数,在子线程中运行,计算一个数的平方并返回结果。在主线程中,我们使用 `Thread` 类创建一个子线程,并使用 `join()` 方法等待子线程运行结束。然后,在主线程中使用 `t.result` 获取子线程返回的结果,并打印出来。
阅读全文