[#BloombergLP-bslmt-Turnstile-2constructor] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslmt.adoc[bslmt]::xref:BloombergLP/bslmt/Turnstile.adoc[Turnstile]::Turnstile :relfileprefix: ../../../ :mrdocs: Create a turnstile object that admits clients at the specified `rate`, expressed as the number of turns per second. Optionally specify the (relative) `startTime` of the first turn. If `startTime` is not specified, the first turn may be taken immediately. Optionally specify `minTimeToCallSleep`, the shortest period of time in seconds that the `waitTurn` function will go to sleep. The behavior is undefined unless `0 < rate`. == Synopsis Declared in `<bslmt_turnstile.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- explicit Turnstile( double rate, xref:BloombergLP/bsls/TimeInterval.adoc[bsls::TimeInterval] const& startTime = bsls::TimeInterval(0), xref:BloombergLP/bsls/TimeInterval.adoc[bsls::TimeInterval] const& minTimeToCallSleep = bsls::TimeInterval(1e‐4)); ---- [.small]#Created with https://www.mrdocs.com[MrDocs]#