我通常在Java/Spring上编写命令式代码,但现在我的团队在WebFlux上实现了项目。我试着研究这个话题,但是我找不到关于锁的问题的答案。
通常情况下,我们的代码应该总是由一个线程执行,或者具有某些条件的锁(例如,代码不应该为同一个实体并发执行)。例如,可以通过Redis分发这些锁。但是这个问题是如何在项目反应堆中解决的呢?据我所知,使用同步块或ReentrantLock是个坏主意,因为在我们避免阻塞的同时,它们会阻塞线程。
结果是,我们需要以不需要锁的方式来设计应用程序。但这并不总是可能的。
或者有什么解决办法?如有任何消息,我将不胜感激。
发布于 2022-07-25 06:53:52
https://stackoverflow.com/questions/73097128
复制相似问题