示例#1
0
 internal static bool Semaphore_TryLock(Kernel32.SafeSemaphoreHandle /*Semaphore*/ sem) =>
 Kernel32.WaitForSingleObject(sem, 0) == Kernel32.WAIT_STATUS.WAIT_OBJECT_0;
示例#2
0
 internal static bool Semaphore_Unlock(Kernel32.SafeSemaphoreHandle /*Semaphore*/ sem) =>
 Kernel32.ReleaseSemaphore(sem, 1, out int _ /*NULL*/);
示例#3
0
 internal static void Semaphore_Destroy(Kernel32.SafeSemaphoreHandle /*Semaphore*/ sem) =>
 Kernel32.CloseHandle(sem.DangerousGetHandle());