0

我正在编写一个应用程序,该应用程序要求给定用户的某些活动不会被可能的竞争线程踩踏。我的整个用户数据库都在内存中,我正在考虑向pthread_rwlock_t用户数据结构添加一个。我预计用户不会超过 10 到 2 万。锁结构的 56 字节根本不是很多 RAM。我的问题是,您在一个进程中可以拥有的实际 rwlock 的数量是否存在实际限制?请注意,我不是在谈论可以获得锁的线程数,或者给定线程可以增加锁计数器的次数。相反,我想知道是否有一些底层内核或其他资源支持我可能最终耗尽的每个单独的锁。

4

1 回答 1

2

这是一个实现质量问题:POSIX 允许 rwlock 的初始化由于资源耗尽而失败。但是,例如,常见的 Linux 实现不需要任何每个锁的资源,除了pthread_rwlock_t自身的内存。

于 2016-07-10T22:20:33.433 回答