子线程返回主线程的代码
时间: 2023-07-02 07:13:57 浏览: 112
简单了解C语言中主线程退出对子线程的影响
以下是一个简单的例子,演示如何在子线程中执行任务并将结果返回给主线程:
```python
import threading
def task(arg1, arg2):
# 执行任务
result = arg1 + arg2
# 将结果返回给主线程
return result
def main():
# 创建子线程
t = threading.Thread(target=task, args=(1, 2))
# 启动子线程
t.start()
# 等待子线程执行完毕并获取返回值
result = t.join()
# 处理子线程的返回值
print("Result:", result)
if __name__ == "__main__":
main()
```
在这个例子中,我们定义了一个 `task` 函数,它接受两个参数 `arg1` 和 `arg2`,并返回它们的和。然后,我们创建了一个子线程 `t`,并将 `task` 函数作为它的目标函数。我们通过 `args` 参数将参数传递给 `task` 函数。
接下来,我们启动子线程并等待它执行完毕。我们使用 `t.join()` 方法来等待子线程执行完毕,并获取它的返回值。最后,我们将子线程的返回值打印出来。
需要注意的是,主线程会被阻塞,直到子线程执行完毕并返回结果。如果子线程的执行时间比较长,主线程可能会被阻塞很长时间。如果需要在主线程中处理其他任务,可以考虑使用多线程或异步编程来实现。
阅读全文