我有一个带有多线程的客户端服务器应用程序。服务器端因std ::列表而发生故障,从而导致SEGV损坏。我怀疑存在两个线程同时更新std ::列表并导致其损坏的跨线程正时问题。

请建议免费的工具来追踪此问题或可能有用的策略。

有帮助吗?

解决方案

如果您知道由于并发访问而损坏的共享数据结构,请在数据结构上放置一个MUTEX,以便在AA时只能访问一个线程,然后重试。

您需要确保无法通过并发线程更新共享数据。可以读取多个线程,您需要小心多个线程阅读和一个或多个写作。

您可以指定使用什么操作系统以及哪个编译器?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top