TryEnterCriticalSection___Delphi

TryEnterCriticalSection___Delphi,第1张

TryEnterCriticalSection___Delphi

VOID EnterCriticalSection:非阻塞函数。


将当前线程对指定临界区的引用计数减1;在使用计数变为零时,另一等待此临界区的一个线程将被唤醒。


BOOL TryEnterCriticalSection( LPCRITICAL_SECTION lpCriticalSection );
从函数声明便可看出,EnterCriticalSection函数的返回值为VOID,而这里为BOOL。


可见对于TryEnterCriticalSection的调用,需要我们判断其返回值。


在调用TryEnterCriticalSection时,如果指定的临界区没有被任何线程(或还没有被任何调用线程)拥有,该函数将临界区的访问权给予调用的线程,并返回TRUE;

不过,如果临界区已经被另一个线程拥有,它立刻返回FALSE值。


TryEnterCriticalSection和EnterCriticalSection之间的最大区别在于TryEnterCriticalSection从来不挂起线程。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/588257.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-12
下一篇 2022-04-12

发表评论

登录后才能评论

评论列表(0条)

保存