1234567891011121314151617181920212223242526272829303132333435363738394041 |
- #pragma once
- #include "defaults.h"
- #include <util/generic/ptr.h>
- class TSemaphore {
- public:
- TSemaphore(const char* name, ui32 maxFreeCount);
- ~TSemaphore();
-
- void Release() noexcept;
-
- void Acquire() noexcept;
-
-
- bool TryAcquire() noexcept;
- private:
- class TImpl;
- THolder<TImpl> Impl_;
- };
- class TFastSemaphore {
- public:
- TFastSemaphore(ui32 maxFreeCount);
- ~TFastSemaphore();
- void Release() noexcept;
- void Acquire() noexcept;
- bool TryAcquire() noexcept;
- private:
- class TImpl;
- THolder<TImpl> Impl_;
- };
|