首页 文章

检测导入包中的竞争条件

提问于
浏览
-1

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

go run -race myprogram

但我没有任何警告或错误 .

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

1 回答

  • 3

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

相关问题