以下是一个使用队列来传递数据的示例代码:
```python
import threading
import queue
# 定义一个队列用于传递数据
data_queue = queue.Queue()
# 子线程函数,将数据放入队列中
def worker():
data = "Hello, world!"
data_queue.put(data)
# 主线程函数,从队列中取出数据并处理
def main():
# 创建子线程并启动
t = threading.Thread(target=worker)
t.start()
# 从队列中取出数据并处理
data = data_queue.get()
print("Received data:", data)
if __name__ == "__main__":
main()
```
在上面的代码中,我们定义了一个全局变量 `data_queue` 作为队列,子线程函数 `worker()` 将数据放入队列中,主线程函数 `main()` 从队列中取出数据并处理。在主线程中,我们先创建子线程并启动,然后从队列中取出数据并打印。运行该程序,输出结果为:
```
Received data: Hello, world!
```
这说明子线程的数据已经成功传递给了主线程。