File: thread_threadnew.html

package info (click to toggle)
freemat 4.0-3
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 174,756 kB
  • ctags: 67,023
  • sloc: cpp: 351,059; ansic: 255,892; sh: 40,590; makefile: 4,387; perl: 4,058; asm: 3,313; pascal: 2,718; fortran: 1,722; ada: 1,681; ml: 1,360; cs: 879; csh: 795; python: 430; sed: 162; lisp: 160; awk: 5
file content (38 lines) | stat: -rw-r--r-- 1,415 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">

<HTML>
<HEAD>
<TITLE>THREADNEW Create a New Thread
</TITLE>
</HEAD>
<BODY>
<H2>THREADNEW Create a New Thread
</H2>
<P>
Section: <A HREF=sec_thread.html> FreeMat Threads </A>
<H3>Usage</H3>
The <code>threadnew</code> function creates a new FreeMat thread, and
returns a handle to the resulting thread.   The <code>threadnew</code>
function takes no arguments.  They general syntax for the
<code>threadnew</code> function is
<PRE>
   handle = threadnew
</PRE>
<P>
Once you have a handle to a thread, you can start the thread
on a computation using the <code>threadstart</code> function.  The
threads returned by <code>threadnew</code> are in a dormant state (i.e.,
not running).  Once you are finished with the thread you
must call <code>threadfree</code> to free the resources associated with
that thread.

Some additional important information.  Thread functions operate
in their own context or workspace, which means that data cannot
be shared between threads.  The exception is <code>global</code> variables,
which provide a thread-safe way for multiple threads to share data.
Accesses to global variables are serialized so that they can 
be used to share data.  Threads and FreeMat are a new feature, so
there is room for improvement in the API and behavior.  The best
way to improve threads is to experiment with them, and send feedback.
</BODY>
</HTML>