检测导入包中的竞争条件

问题描述 投票:-1回答:1

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

go run -race myprogram

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

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

go race-condition
1个回答
3
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.