⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.144
Server IP:
157.245.143.252
Server:
Linux www 6.11.0-9-generic #9-Ubuntu SMP PREEMPT_DYNAMIC Mon Oct 14 13:19:59 UTC 2024 x86_64
Server Software:
nginx/1.26.0
PHP Version:
8.3.11
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
lib
/
python3.12
/
asyncio
/
__pycache__
/
View File Name :
locks.cpython-312.pyc
CRh2J ` d Z dZddlZddlZddlmZ ddlmZ G d d Z G d d eej Z G d dej Z G d deej Z G d deej Z G d de Z G d dej Z G d dej Zy)zSynchronization primitives.)LockEvent Condition SemaphoreBoundedSemaphoreBarrier N ) exceptions)mixinsc e Zd Zd Zd Zy)_ContextManagerMixinc @ K | j d { y 7 wN)acquireselfs $/usr/lib/python3.12/asyncio/locks.py __aenter__z_ContextManagerMixin.__aenter__ s lln s c , K | j y wr )release)r exc_typeexctbs r __aexit__z_ContextManagerMixin.__aexit__ s s N)__name__ __module____qualname__r r r r r s r r c @ e Zd ZdZd Z fdZd Zd Zd Zd Z xZ S )r a Primitive lock objects. A primitive lock is a synchronization primitive that is not owned by a particular coroutine when locked. A primitive lock is in one of two states, 'locked' or 'unlocked'. It is created in the unlocked state. It has two basic methods, acquire() and release(). When the state is unlocked, acquire() changes the state to locked and returns immediately. When the state is locked, acquire() blocks until a call to release() in another coroutine changes it to unlocked, then the acquire() call resets it to locked and returns. The release() method should only be called in the locked state; it changes the state to unlocked and returns immediately. If an attempt is made to release an unlocked lock, a RuntimeError will be raised. When more than one coroutine is blocked in acquire() waiting for the state to turn to unlocked, only one coroutine proceeds when a release() call resets the state to unlocked; first coroutine which is blocked in acquire() is being processed. acquire() is a coroutine and should be called with 'await'. Locks also support the asynchronous context management protocol. 'async with lock' statement should be used. Usage: lock = Lock() ... await lock.acquire() try: ... finally: lock.release() Context manager usage: lock = Lock() ... async with lock: ... Lock objects can be tested for locking state: if not lock.locked(): await lock.acquire() else: # lock is acquired ... c d | _ d| _ y NF)_waiters_lockedr s r __init__z Lock.__init__M s r c t | }| j rdnd}| j r| dt | j }d|dd d| dS Nlockedunlocked , waiters: