try_lock_mutexT_try_lock_mutexTryLockMutexTryLockMutextry_lock_mutex (Operator)
Name
try_lock_mutexT_try_lock_mutexTryLockMutexTryLockMutextry_lock_mutex
— Lock a mutex synchronization object.
Signature
Description
try_lock_mutextry_lock_mutexTryLockMutexTryLockMutexTryLockMutextry_lock_mutex
behaves identically to lock_mutexlock_mutexLockMutexLockMutexLockMutexlock_mutex
, except
that it does not block the calling thread if the mutex is already locked by
another thread but returns immediately. The state of the mutex before trying
to lock it is returned in BusyBusyBusyBusybusybusy
. 1 indicates that the mutex
was already locked before calling try_lock_mutextry_lock_mutexTryLockMutexTryLockMutexTryLockMutextry_lock_mutex
, 0 that
the mutex was unlocked (signaled).
Execution Information
- Multithreading type: independent (runs in parallel even with exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Processed without parallelization.
Parameters
MutexHandleMutexHandleMutexHandleMutexHandlemutexHandlemutex_handle
(input_control) mutex →
HMutex, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Mutex synchronization object.
BusyBusyBusyBusybusybusy
(output_control) number →
HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Mutex already locked?
Result
If the mutex handle is valid, the operator try_lock_mutextry_lock_mutexTryLockMutexTryLockMutexTryLockMutextry_lock_mutex
returns 2 (H_MSG_TRUE). If necessary, an exception is raised.
Possible Predecessors
create_mutexcreate_mutexCreateMutexCreateMutexCreateMutexcreate_mutex
Possible Successors
unlock_mutexunlock_mutexUnlockMutexUnlockMutexUnlockMutexunlock_mutex
See also
lock_mutexlock_mutexLockMutexLockMutexLockMutexlock_mutex
Module
Foundation