netty channel (或者一般的 java NIO channel )是 FIFO 吗?或者我需要自己使用序列号来实现 FIFO?
谢谢
最佳答案
NIO内部维护读写锁;然而它们是使用 NIO 中的同步
block 来实现的。
使用synchronized
时,不保证线程B会在线程A之后获得锁。线程C完全有可能先于线程B获得写锁。
请参阅以下有关锁定释放的内容:Synchronized release order
如果您需要跨多个线程保证 FIFO,那么您需要使用 fair=true
创建一个 ReentrantLock
并要求所有线程首先获取该锁。
关于java - netty(或java NIO) channel 是先进先出的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38602609/