zhh-4096
26-06-28 14:49

java nio 的 SocketChannel 在 read/write 方法的实现中加了读锁和写锁,上层的 http server 或数据库通常由一个事件循环线程负责某个 SocketChannel 的读写操作,所以是不存在多线程并发读写问题的,read/write 方法的实现应该有个参数能控制是否加读锁和写锁。像 java nio 这种设计就是防御性编程风格,事先就假定每个 SocketChannel 对象都是多线程访问的。

发布于 广西