检测导入包中的竞争条件

Detect a race condition in imported package

我有一个包,我在其中编写了 golang 代码。 我担心程序运行不正常,因为它会不时输出不同的结果。可能是因为 race condtions。所以我运行多次:

go run -race myprogram

但我没有收到任何警告或错误。

可能是我导入的另一个包有错误。据我了解,-race 标志未检测到它们。如果是这样,我该怎么做(检测不是在我的代码中而是在我导入并在我的代码中使用的包中发生的竞争条件)?

竞争条件检测是误报而不是误报。这意味着它可以在竞争刚刚发生的任何时候检测到竞争——当一个程序试图同时读取或写入一个共享值时。底线是 -race 标志不适用于 100% 的情况。