1

想要检查线程屏障是否是解决问题的正确方法,您必须在特定时间间隔内连续轮询 DB 2-3 次以检查触发器的传入事件,然后最终在 Spring Integration 项目中超时。

另外,我们是否总是需要 2 个线程才能使线程屏障工作?挂起的线程和触发线程。

4

1 回答 1

0

BarrierMessageHandler基于如下逻辑:

Message<?> releaseMessage = syncQueue.poll(this.timeout, TimeUnit.MILLISECONDS);

因此正在阻塞当前线程。

因此,要释放该块,您肯定需要另一个为 that 提供值的线程SynchronousQueue

于 2016-07-07T20:30:57.460 回答