读写结构体数据数据互斥访问问题

guichun68 · · 781 次点击
add全部执行完再读?意思是说不方便在Add一条数据后的间隙去读取数据了,只能等所有Add做完后才能读?
#4
更多评论
你添加的时候用的goroutine,读的时候也用的goroutine,你根本没有等他全部写进去再去读,所以读的时候偶尔有几个-1。简单来说,你没有等他写完就去读了,所以没读到。
#1
那该如何解决呢,我加了个无缓冲的通道,在Add函数的defer中给通道追加了1,然后在读数据的for循环中从通道取出数据,成功取出则查询之,怎么还是读到-1呢。
#2