Saturating semaphore
Summary: SaturatingSemaphore is a flag that allows: - multiple concurrent posters - multiple concurrent waiters - idempotent posting - non-destructive waiting - blocking and spinning - pre-block spin time control ``` /// SaturatingSemaphore is a flag that allows concurrent posting by /// multiple posters and concurrent non-destructive waiting by /// multiple waiters. /// /// A SaturatingSemaphore allows one or more waiter threads to check, /// spin, or block, indefinitely or with timeout, for a flag to be set /// by one or more poster threads. By setting the flag, posters /// announce to waiters (that may be already waiting or will check /// the flag in the future) that some condition is true. Posts to an /// already set flag are idempotent. ``` Reviewed By: djwatson Differential Revision: D6379704 fbshipit-source-id: 59aed76caa2d159639e75425a778a9c63f18f375
Showing
This diff is collapsed.
Please register or sign in to comment