我有编写golang
代码的软件包。我担心程序的工作不正确,因为它会不时输出不同的结果。可能是由于race condtions
。所以我多次运行:
go run -race myprogram
,但我没有任何警告或Errros。
可能,错误在我导入的另一个软件包中。据我了解,-race
标志未检测到它们。如果是这样,我该怎么做(检测不是在我的代码中发生的,而是在我导入并在代码中使用的软件包中出现的种族条件(?
种族条件检测是假阴性而不是假阳性。这意味着它在刚刚发生的任何时候都检测到比赛 - 程序试图同时读取或编写共享值时。最重要的是-race标志在100%的情况下工作。