Multiple execution agents can
simultaneously hold a shared lock ownership of a shared mutex type
. But no
execution agent holds a shared lock while another execution agent holds an
exclusive lock on the same shared mutex type, and vice-versa
. The maximum
number of execution agents which can share a shared lock on a single shared
mutex type is unspecified, but is at least 10000
. If more than the
maximum number of execution agents attempt to obtain a shared lock, the
excess execution agents block until the number of shared locks are
reduced below the maximum amount by other execution agents releasing their
shared lock
.