aboutsummaryrefslogtreecommitdiffstats
path: root/distrib/sdl-1.2.15/docs/html/thread.html
diff options
context:
space:
mode:
Diffstat (limited to 'distrib/sdl-1.2.15/docs/html/thread.html')
-rw-r--r--distrib/sdl-1.2.15/docs/html/thread.html313
1 files changed, 313 insertions, 0 deletions
diff --git a/distrib/sdl-1.2.15/docs/html/thread.html b/distrib/sdl-1.2.15/docs/html/thread.html
new file mode 100644
index 0000000..8ef2c92
--- /dev/null
+++ b/distrib/sdl-1.2.15/docs/html/thread.html
@@ -0,0 +1,313 @@
+<HTML
+><HEAD
+><TITLE
+>Multi-threaded Programming</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
+"><LINK
+REL="HOME"
+TITLE="SDL Library Documentation"
+HREF="index.html"><LINK
+REL="UP"
+TITLE="SDL Reference"
+HREF="reference.html"><LINK
+REL="PREVIOUS"
+TITLE="SDL_CDtrack"
+HREF="sdlcdtrack.html"><LINK
+REL="NEXT"
+TITLE="SDL_CreateThread"
+HREF="sdlcreatethread.html"><META
+NAME="KEYWORD"
+CONTENT="threads"><META
+NAME="KEYWORD"
+CONTENT="function"></HEAD
+><BODY
+CLASS="CHAPTER"
+BGCOLOR="#FFF8DC"
+TEXT="#000000"
+LINK="#0000ee"
+VLINK="#551a8b"
+ALINK="#ff0000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>SDL Library Documentation</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="sdlcdtrack.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="sdlcreatethread.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="CHAPTER"
+><H1
+><A
+NAME="THREAD"
+></A
+>Chapter 12. Multi-threaded Programming</H1
+><DIV
+CLASS="TOC"
+><DL
+><DT
+><B
+>Table of Contents</B
+></DT
+><DT
+><A
+HREF="sdlcreatethread.html"
+>SDL_CreateThread</A
+>&nbsp;--&nbsp;Creates a new thread of execution that shares its parent's properties.</DT
+><DT
+><A
+HREF="sdlthreadid.html"
+>SDL_ThreadID</A
+>&nbsp;--&nbsp;Get the 32-bit thread identifier for the current thread.</DT
+><DT
+><A
+HREF="sdlgetthreadid.html"
+>SDL_GetThreadID</A
+>&nbsp;--&nbsp;Get the SDL thread ID of a SDL_Thread</DT
+><DT
+><A
+HREF="sdlwaitthread.html"
+>SDL_WaitThread</A
+>&nbsp;--&nbsp;Wait for a thread to finish.</DT
+><DT
+><A
+HREF="sdlkillthread.html"
+>SDL_KillThread</A
+>&nbsp;--&nbsp;Gracelessly terminates the thread.</DT
+><DT
+><A
+HREF="sdlcreatemutex.html"
+>SDL_CreateMutex</A
+>&nbsp;--&nbsp;Create a mutex</DT
+><DT
+><A
+HREF="sdldestroymutex.html"
+>SDL_DestroyMutex</A
+>&nbsp;--&nbsp;Destroy a mutex</DT
+><DT
+><A
+HREF="sdlmutexp.html"
+>SDL_mutexP</A
+>&nbsp;--&nbsp;Lock a mutex</DT
+><DT
+><A
+HREF="sdlmutexv.html"
+>SDL_mutexV</A
+>&nbsp;--&nbsp;Unlock a mutex</DT
+><DT
+><A
+HREF="sdlcreatesemaphore.html"
+>SDL_CreateSemaphore</A
+>&nbsp;--&nbsp;Creates a new semaphore and assigns an initial value to it.</DT
+><DT
+><A
+HREF="sdldestroysemaphore.html"
+>SDL_DestroySemaphore</A
+>&nbsp;--&nbsp;Destroys a semaphore that was created by <A
+HREF="sdlcreatesemaphore.html"
+>SDL_CreateSemaphore</A
+>.</DT
+><DT
+><A
+HREF="sdlsemwait.html"
+>SDL_SemWait</A
+>&nbsp;--&nbsp;Lock a semaphore and suspend the thread if the semaphore value is zero.</DT
+><DT
+><A
+HREF="sdlsemtrywait.html"
+>SDL_SemTryWait</A
+>&nbsp;--&nbsp;Attempt to lock a semaphore but don't suspend the thread.</DT
+><DT
+><A
+HREF="sdlsemwaittimeout.html"
+>SDL_SemWaitTimeout</A
+>&nbsp;--&nbsp;Lock a semaphore, but only wait up to a specified maximum time.</DT
+><DT
+><A
+HREF="sdlsempost.html"
+>SDL_SemPost</A
+>&nbsp;--&nbsp;Unlock a semaphore.</DT
+><DT
+><A
+HREF="sdlsemvalue.html"
+>SDL_SemValue</A
+>&nbsp;--&nbsp;Return the current value of a semaphore.</DT
+><DT
+><A
+HREF="sdlcreatecond.html"
+>SDL_CreateCond</A
+>&nbsp;--&nbsp;Create a condition variable</DT
+><DT
+><A
+HREF="sdldestroycond.html"
+>SDL_DestroyCond</A
+>&nbsp;--&nbsp;Destroy a condition variable</DT
+><DT
+><A
+HREF="sdlcondsignal.html"
+>SDL_CondSignal</A
+>&nbsp;--&nbsp;Restart a thread wait on a condition variable</DT
+><DT
+><A
+HREF="sdlcondbroadcast.html"
+>SDL_CondBroadcast</A
+>&nbsp;--&nbsp;Restart all threads waiting on a condition variable</DT
+><DT
+><A
+HREF="sdlcondwait.html"
+>SDL_CondWait</A
+>&nbsp;--&nbsp;Wait on a condition variable</DT
+><DT
+><A
+HREF="sdlcondwaittimeout.html"
+>SDL_CondWaitTimeout</A
+>&nbsp;--&nbsp;Wait on a condition variable, with timeout</DT
+></DL
+></DIV
+><P
+>SDL provides functions for creating threads, mutexes, semphores and condition variables.</P
+><P
+>In general, you must be very aware of concurrency and data integrity issues
+when writing multi-threaded programs. Some good guidelines include:
+<P
+></P
+><UL
+><LI
+><P
+>Don't call SDL video/event functions from separate threads</P
+></LI
+><LI
+><P
+>Don't use any library functions in separate threads</P
+></LI
+><LI
+><P
+>Don't perform any memory management in separate threads</P
+></LI
+><LI
+><P
+>Lock global variables which may be accessed by multiple threads</P
+></LI
+><LI
+><P
+>Never terminate threads, always set a flag and wait for them to quit</P
+></LI
+><LI
+><P
+>Think very carefully about all possible ways your code may interact</P
+></LI
+></UL
+></P
+><DIV
+CLASS="NOTE"
+><BLOCKQUOTE
+CLASS="NOTE"
+><P
+><B
+>Note: </B
+>SDL's threading is not implemented on MacOS, due to the lack of preemptive thread support on that OS (Mac OS X doesn't suffer from this problem)</P
+></BLOCKQUOTE
+></DIV
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="sdlcdtrack.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="index.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="sdlcreatethread.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>SDL_CDtrack</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="reference.html"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>SDL_CreateThread</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file