Wiki source for CatPgThreading

Show raw source

{{fbdoc item="title" value="Threading Support Functions"}}----
Procedures for working with multithreaded applications.

{{fbdoc item="desc"}}
These procedures allow for multithreaded programming. Threads and conditional variables can be created and destroyed, and so-called //mutexes// can be obtained to protect thread-sensitive data.

**{{anchor name="THREADS|Threads"}}**
Procedures that start and wait for threaded procedures.
**{{anchor name="CONDVARS|Conditional Varables"}}**
Procedures that create and signal conditional variables.
**{{anchor name="MUTEXES|Mutexes"}}**
Procedures that deal with mutexes.

<<{{anchor name="THREADS"}}{{fbdoc item="section" value="Threads"}}
=={{fbdoc item="keyword" value="KeyPgThreadCall|THREADCALL"}}==
Starts a procedure with parameters in a separate thread of execution.
=={{fbdoc item="keyword" value="KeyPgThreadCreate|THREADCREATE"}}==
Starts a procedure in a separate thread of execution.
=={{fbdoc item="keyword" value="KeyPgThreadDetach|THREADDETACH"}}==
Releases a thread handle without waiting for the thread to finish.
=={{fbdoc item="keyword" value="KeyPgThreadWait|THREADWAIT"}}==
Waits for a thread to finish and releases the thread handle.

{{anchor name="CONDVARS"}}{{fbdoc item="section" value="Conditional Variables"}}
=={{fbdoc item="keyword" value="KeyPgCondCreate|CONDCREATE"}}==
Creates a conditional variable.
=={{fbdoc item="keyword" value="KeyPgCondWait|CONDWAIT"}}==
Pauses execution of a threaded procedure.
=={{fbdoc item="keyword" value="KeyPgCondSignal|CONDSIGNAL"}}==
Resumes execution of a threaded procedure waiting for a conditional.
=={{fbdoc item="keyword" value="KeyPgCondBroadcast|CONDBROADCAST"}}==
Resumes all threaded procedures waiting for a conditional.
=={{fbdoc item="keyword" value="KeyPgCondDestroy|CONDDESTROY"}}==
Destroys a conditional variable that is no longer needed.
<<>>{{anchor name="MUTEXES"}}{{fbdoc item="section" value="Mutexes"}}
=={{fbdoc item="keyword" value="KeyPgMutexCreate|MUTEXCREATE"}}==
Creates a mutex.
=={{fbdoc item="keyword" value="KeyPgMutexLock|MUTEXLOCK"}}==
Acquires a lock on a mutex.
=={{fbdoc item="keyword" value="KeyPgMutexUnlock|MUTEXUNLOCK"}}==
Releases a lock on a mutex.
=={{fbdoc item="keyword" value="KeyPgMutexDestroy|MUTEXDESTROY"}}==
Destroys a mutex that is no longer needed.
{{fbdoc item="target"}}
- These procedures are not supported in DOS.

{{fbdoc item="back" value="DocToc|Table of Contents"}}
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki phatcode