ramq
前两天,我的一个golang程序突然出现异常
前两天,我的一个golang程序突然出现异常,因为从ramq中读取数据并且自动ack 然后另外一个线程再读取出来。 中间使用了mutex来防止冲突,结果发现突然不知道什么原因,这个数据竟然没有读到了。 后来分析应该是mutex的原因,然后做了个小测试,就简单的在使用mutex.Lock的后面直接defer mutex.Unlock 本意很简单,在变量的生命周期结束后直接Unlock,结果发现竟然只会lock不会unlock