main() 对连续 运行 线程内的编辑值具有只读访问权限 - C++

main() having read-only access to edited values inside continuously running threads - C++

我在我的 C++ 程序的 main() 函数中创建了几个 pthread。创建线程后,每个线程都负责创建 UDP 套接字并侦听特定端口。根据到达每个端口的数据,线程修改全局变量,同时循环内的主函数将读取这些变量。问题是我是否可以使用 mutex 在 main 函数中执行相同的过程,或者 main 函数本身消耗大量资源,更好的方法是让另一个线程负责读取修改后的数据? (当然在这个新线程中我可以选择使用互斥) 提前致谢。

"main" 线程与其创建的其他线程之间没有显着差异。创建其他线程后,它们都具有相同的访问权限和内存映射。