检测导入包中的竞争条件

时间:2018-04-01 14:21:10

标签: go race-condition

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

go run -race myprogram

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

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

1 个答案:

答案 0 :(得分:3)

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