POSIX's `pthread_rwlock_t` and Java's `ReentrantReadWriteLock` exist because read-mostly workloads like configuration caches and in-memory databases waste enormous throughput serializing readers behind a plain mutex. The writer-starvation problem you're asked to prevent here is a real, documented pitfall: naive Linux glibc rwlock implementations historically favored readers so heavily that writers could starve indefinitely under sustained read load.