cs-element
Version:
Advanced reactive data management library with state machines, blueprints, persistence, compression, networking, and multithreading support
24 lines • 672 B
TypeScript
/**
* Асинхронная блокировка для обеспечения потокобезопасности
*/
export declare class AsyncLock {
private _queue;
private _locked;
/**
* Получить блокировку
*/
acquire(): Promise<void>;
/**
* Освободить блокировку
*/
release(): void;
/**
* Проверить заблокирована ли блокировка
*/
isLocked(): boolean;
/**
* Выполнить функцию с блокировкой
*/
withLock<T>(fn: () => T | Promise<T>): Promise<T>;
}
//# sourceMappingURL=AsyncLock.d.ts.map