⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sdlsemwaittimeout.html

📁 VC5.6.7的一个扩展库。跟DirectX的功能差不多。
💻 HTML
字号:
<HTML><HEAD><TITLE>SDL_SemWaitTimeout</TITLE><METANAME="GENERATOR"CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+"><LINKREL="HOME"TITLE="SDL Library Documentation"HREF="index.html"><LINKREL="UP"TITLE="Multi-threaded Programming"HREF="thread.html"><LINKREL="PREVIOUS"TITLE="SDL_SemTryWait"HREF="sdlsemtrywait.html"><LINKREL="NEXT"TITLE="SDL_SemPost"HREF="sdlsempost.html"></HEAD><BODYCLASS="REFENTRY"BGCOLOR="#FFF8DC"TEXT="#000000"LINK="#0000ee"VLINK="#551a8b"ALINK="#ff0000"><DIVCLASS="NAVHEADER"><TABLESUMMARY="Header navigation table"WIDTH="100%"BORDER="0"CELLPADDING="0"CELLSPACING="0"><TR><THCOLSPAN="3"ALIGN="center">SDL Library Documentation</TH></TR><TR><TDWIDTH="10%"ALIGN="left"VALIGN="bottom"><AHREF="sdlsemtrywait.html"ACCESSKEY="P">Prev</A></TD><TDWIDTH="80%"ALIGN="center"VALIGN="bottom"></TD><TDWIDTH="10%"ALIGN="right"VALIGN="bottom"><AHREF="sdlsempost.html"ACCESSKEY="N">Next</A></TD></TR></TABLE><HRALIGN="LEFT"WIDTH="100%"></DIV><H1><ANAME="SDLSEMWAITTIMEOUT"></A>SDL_SemWaitTimeout</H1><DIVCLASS="REFNAMEDIV"><ANAME="AEN8120"></A><H2>Name</H2>SDL_SemWaitTimeout&nbsp;--&nbsp;Lock a semaphore, but only wait up to a specified maximum time.</DIV><DIVCLASS="REFSYNOPSISDIV"><ANAME="AEN8123"></A><H2>Synopsis</H2><DIVCLASS="FUNCSYNOPSIS"><ANAME="AEN8124"></A><P></P><PRECLASS="FUNCSYNOPSISINFO">#include "SDL.h"#include "SDL_thread.h"</PRE><P><CODE><CODECLASS="FUNCDEF">int <BCLASS="FSFUNC">SDL_SemWaitTimeout</B></CODE>(SDL_sem *sem, Uint32 timeout);</CODE></P><P></P></DIV></DIV><DIVCLASS="REFSECT1"><ANAME="AEN8130"></A><H2>Description</H2><P><TTCLASS="FUNCTION">SDL_SemWaitTimeout()</TT> is a varient of<AHREF="sdlsemwait.html">SDL_SemWait</A>with a maximum timeout value.If the value of the semaphore pointed to by <TTCLASS="PARAMETER"><I>sem</I></TT> ispositive (greater than zero) it will atomically decrement the semaphore valueand return 0, otherwise it will wait up to <TTCLASS="PARAMETER"><I>timeout</I></TT>milliseconds trying to lock the semaphore. This function is to be avoided ifpossible since on some platforms it is implemented by polling the semaphoreevery millisecond in a busy loop.</P><P>After <TTCLASS="FUNCTION">SDL_SemWaitTimeout()</TT> is successful, the semaphorecan be released and its count atomically incremented by a successful call to<AHREF="sdlsempost.html">SDL_SemPost</A>.</P></DIV><DIVCLASS="REFSECT1"><ANAME="AEN8140"></A><H2>Return Value</H2><P>Returns <SPANCLASS="RETURNVALUE">0</SPAN> if the semaphore was successfully locked oreither <SPANCLASS="RETURNVALUE">SDL_MUTEX_TIMEDOUT</SPAN> or <SPANCLASS="RETURNVALUE">-1</SPAN>if the timeout period was exceeded or there was an error, respectivly.</P><P>If the semaphore was not successfully locked, the semaphore will be unchanged.</P></DIV><DIVCLASS="REFSECT1"><ANAME="AEN8147"></A><H2>Examples</H2><P><PRECLASS="PROGRAMLISTING">res = SDL_SemWaitTimeout(my_sem, WAIT_TIMEOUT_MILLISEC);if (res == SDL_MUTEX_TIMEDOUT) {        return TRY_AGAIN;}if (res == -1) {        return WAIT_ERROR;}...SDL_SemPost(my_sem);</PRE></P></DIV><DIVCLASS="REFSECT1"><ANAME="AEN8151"></A><H2>See Also</H2><P><AHREF="sdlcreatesemaphore.html"><TTCLASS="FUNCTION">SDL_CreateSemaphore</TT></A>,<AHREF="sdldestroysemaphore.html"><TTCLASS="FUNCTION">SDL_DestroySemaphore</TT></A>,<AHREF="sdlsemwait.html"><TTCLASS="FUNCTION">SDL_SemWait</TT></A>,<AHREF="sdlsemtrywait.html"><TTCLASS="FUNCTION">SDL_SemTryWait</TT></A>,<AHREF="sdlsempost.html"><TTCLASS="FUNCTION">SDL_SemPost</TT></A>,<AHREF="sdlsemvalue.html"><TTCLASS="FUNCTION">SDL_SemValue</TT></A></P></DIV><DIVCLASS="NAVFOOTER"><HRALIGN="LEFT"WIDTH="100%"><TABLESUMMARY="Footer navigation table"WIDTH="100%"BORDER="0"CELLPADDING="0"CELLSPACING="0"><TR><TDWIDTH="33%"ALIGN="left"VALIGN="top"><AHREF="sdlsemtrywait.html"ACCESSKEY="P">Prev</A></TD><TDWIDTH="34%"ALIGN="center"VALIGN="top"><AHREF="index.html"ACCESSKEY="H">Home</A></TD><TDWIDTH="33%"ALIGN="right"VALIGN="top"><AHREF="sdlsempost.html"ACCESSKEY="N">Next</A></TD></TR><TR><TDWIDTH="33%"ALIGN="left"VALIGN="top">SDL_SemTryWait</TD><TDWIDTH="34%"ALIGN="center"VALIGN="top"><AHREF="thread.html"ACCESSKEY="U">Up</A></TD><TDWIDTH="33%"ALIGN="right"VALIGN="top">SDL_SemPost</TD></TR></TABLE></DIV></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -