The details vary across UNIX systems; below, the details for
Linux.如上所述,对以下接口(读、写)的阻塞调用被信号处理程序中断,如果使用了SA_RESTART标志,则在信号处理程序返回后,调用将自动重启,这意味着在读/写系统调用被阻塞的情况下,进程必须处于TASK_INTERRUPTIBLE和Why doing I/O in Linux is unint
(); // Unlock write, still hold read rwl.readLock().unlock();为什么我们必须在获取评论中所写的写锁之前释放读锁如果当前线程持有读锁,则应允许它在其他线程不再读取时获取写锁,而不管当前线程是否也持有读锁。这是我所期望的行为。我预计第5行和第6行的锁升级和第14行和第15行的锁降级将在ReentrantReadWriteLock类内