我被多线程逼疯了,我要发一次灌水贴,我不管,我要发

lxping2

自从学了workerman,才知道多进程这么麻烦。
真实佩服会玩线程纤程的人。
用了多线程,以为同一个进程里代码随便写,结果多个进程抢一个redis,数据还没修改呢就被其他进程读取了。
好吧,百度一把,加锁,然后各种加锁,无效。。。然后各种测试,发现只开一个进程没问题,然后知道了redis原子性的概念。
哎,不先解决redis原子性,加一万把锁都没用,真是头发掉了无数根。
最后放一个链接,希望能帮到跟我一样为多线程争抢redis而掉头发的童鞋。。。
https://blog.csdn.net/luolaifa000/article/details/84291938

2469 2 0
2个回答

dignfei

不需要锁。用队列可以解决。把需要修改的数据 写入一个队列,然后有单独的队列读取这些数据,然后一个个执行

  • 暂无评论
半壶水

能不锁就不锁,数据库的性能永远在第一

  • 暂无评论
年代过于久远,无法发表回答
🔝