~kklimonda/ubuntu/natty/glibmm2.4/update

« back to all changes in this revision

Viewing changes to docs/reference/html/classGlib_1_1Thread.html

  • Committer: Bazaar Package Importer
  • Author(s): Sebastien Bacher
  • Date: 2009-03-16 14:26:05 UTC
  • mfrom: (1.2.35 upstream)
  • Revision ID: james.westby@ubuntu.com-20090316142605-gj2oyabw69a9b9li
Tags: 2.20.0-0ubuntu1
New upstream version

Show diffs side-by-side

added added

removed removed

Lines of Context:
19
19
 
20
20
<!-- begin main content -->
21
21
<div id="content">
22
 
<!-- Generated by Doxygen 1.5.6 -->
 
22
<!-- Generated by Doxygen 1.5.8 -->
23
23
  <div class="navpath"><a class="el" href="namespaceGlib.html">Glib</a>::<a class="el" href="classGlib_1_1Thread.html">Thread</a>
24
24
  </div>
25
25
<div class="contents">
33
33
<p>
34
34
<a href="classGlib_1_1Thread-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
35
35
<tr><td></td></tr>
 
36
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
 
37
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Thread_1_1Exit.html">Exit</a></td></tr>
 
38
 
 
39
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Exception class used to exit from a thread.  <a href="classGlib_1_1Thread_1_1Exit.html#_details">More...</a><br></td></tr>
36
40
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
37
41
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Thread.html#9feee4b860d9928f86b9d255e2f2b133">joinable</a> () const </td></tr>
38
42
 
67
71
<tr><td colspan="2">(Note that these are not member functions.) <br><br></td></tr>
68
72
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classGlib_1_1Thread.html">Thread</a>*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Threads.html#g6bfbb3119eaac9fa8cb725aa1e82f61e">wrap</a> (GThread* gobject)</td></tr>
69
73
 
70
 
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
71
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Thread_1_1Exit.html">Exit</a></td></tr>
72
 
 
73
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Exception class used to exit from a thread.  <a href="classGlib_1_1Thread_1_1Exit.html#_details">More...</a><br></td></tr>
74
74
</table>
75
75
<hr><a name="_details"></a><h2>Detailed Description</h2>
76
76
Represents a running thread. 
82
82
 
83
83
<p>
84
84
<a class="el" href="thread_2dispatcher_8cc-example.html#_a0">thread/dispatcher.cc</a>, and <a class="el" href="thread_2thread_8cc-example.html#_a11">thread/thread.cc</a>.</dl><hr><h2>Member Function Documentation</h2>
85
 
<a class="anchor" name="b165854ff2fc9b454ee4d97050485782"></a><!-- doxytag: member="Glib::Thread::create" ref="b165854ff2fc9b454ee4d97050485782" args="(const sigc::slot&lt; void &gt; &amp;slot, bool joinable)" -->
86
 
<div class="memitem">
87
 
<div class="memproto">
88
 
      <table class="memname">
89
 
        <tr>
90
 
          <td class="memname">static <a class="el" href="classGlib_1_1Thread.html">Thread</a>* Glib::Thread::create           </td>
91
 
          <td>(</td>
92
 
          <td class="paramtype">const sigc::slot&lt; void &gt; &amp;&nbsp;</td>
93
 
          <td class="paramname"> <em>slot</em>, </td>
94
 
        </tr>
95
 
        <tr>
96
 
          <td class="paramkey"></td>
97
 
          <td></td>
98
 
          <td class="paramtype">bool&nbsp;</td>
99
 
          <td class="paramname"> <em>joinable</em></td><td>&nbsp;</td>
100
 
        </tr>
101
 
        <tr>
102
 
          <td></td>
103
 
          <td>)</td>
104
 
          <td></td><td></td><td><code> [static]</code></td>
105
 
        </tr>
106
 
      </table>
107
 
</div>
108
 
<div class="memdoc">
109
 
 
110
 
<p>
111
 
Creates a new thread with the priority <code>THREAD_PRIORITY_NORMAL</code>. 
112
 
<p>
113
 
If <em>joinable</em> is <code>true</code>, you can wait for this thread's termination by calling <a class="el" href="classGlib_1_1Thread.html#b95e51699279fd84c9577c45d76b0d8e" title="Waits until the thread finishes.">join()</a>. Otherwise the thread will just disappear, when ready.<p>
114
 
The new thread executes the function or method <em>slot</em> points to. You can pass additional arguments using sigc::bind(). If the thread was created successfully, it is returned, otherwise a <a class="el" href="classGlib_1_1ThreadError.html" title="Exception class for thread-related errors.">ThreadError</a> exception is thrown.<p>
115
 
Because <a class="el" href="classsigc_1_1trackable.html">sigc::trackable</a> is not thread safe, if the slot represents a non-static class method (that is, it is created by <a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/group__s20__3__8__memadaptors.html#ga2">sigc::mem_fun()</a>), the class concerned should not derive from <a class="el" href="classsigc_1_1trackable.html">sigc::trackable</a>.<p>
116
 
<dl compact><dt><b>Parameters:</b></dt><dd>
117
 
  <table border="0" cellspacing="2" cellpadding="0">
118
 
    <tr><td valign="top"></td><td valign="top"><em>slot</em>&nbsp;</td><td>A slot to execute in the new thread. </td></tr>
119
 
    <tr><td valign="top"></td><td valign="top"><em>joinable</em>&nbsp;</td><td>Should this thread be joinable? </td></tr>
120
 
  </table>
121
 
</dl>
122
 
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The new Thread* on success. </dd></dl>
123
 
<dl compact><dt><b>Exceptions:</b></dt><dd>
124
 
  <table border="0" cellspacing="2" cellpadding="0">
125
 
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classGlib_1_1ThreadError.html" title="Exception class for thread-related errors.">Glib::ThreadError</a></em>&nbsp;</td><td></td></tr>
126
 
  </table>
127
 
</dl>
128
 
<dl compact><dt><b>Examples: </b></dt><dd>
129
 
<a class="el" href="thread_2dispatcher_8cc-example.html#a6">thread/dispatcher.cc</a>, and <a class="el" href="thread_2thread_8cc-example.html#a12">thread/thread.cc</a>.</dl>
130
 
</div>
131
 
</div><p>
132
85
<a class="anchor" name="f30a7a8b037c7c7a3802aa2a22cf612d"></a><!-- doxytag: member="Glib::Thread::create" ref="f30a7a8b037c7c7a3802aa2a22cf612d" args="(const sigc::slot&lt; void &gt; &amp;slot, unsigned long stack_size, bool joinable, bool bound, ThreadPriority priority)" -->
133
86
<div class="memitem">
134
87
<div class="memproto">
199
152
 
200
153
</div>
201
154
</div><p>
202
 
<a class="anchor" name="9db6864c35701b1c179f48217ab76cca"></a><!-- doxytag: member="Glib::Thread::self" ref="9db6864c35701b1c179f48217ab76cca" args="()" -->
 
155
<a class="anchor" name="b165854ff2fc9b454ee4d97050485782"></a><!-- doxytag: member="Glib::Thread::create" ref="b165854ff2fc9b454ee4d97050485782" args="(const sigc::slot&lt; void &gt; &amp;slot, bool joinable)" -->
203
156
<div class="memitem">
204
157
<div class="memproto">
205
158
      <table class="memname">
206
159
        <tr>
207
 
          <td class="memname">static <a class="el" href="classGlib_1_1Thread.html">Thread</a>* Glib::Thread::self           </td>
 
160
          <td class="memname">static <a class="el" href="classGlib_1_1Thread.html">Thread</a>* Glib::Thread::create           </td>
208
161
          <td>(</td>
209
 
          <td class="paramname">          </td>
210
 
          <td>&nbsp;)&nbsp;</td>
211
 
          <td><code> [static]</code></td>
 
162
          <td class="paramtype">const sigc::slot&lt; void &gt; &amp;&nbsp;</td>
 
163
          <td class="paramname"> <em>slot</em>, </td>
 
164
        </tr>
 
165
        <tr>
 
166
          <td class="paramkey"></td>
 
167
          <td></td>
 
168
          <td class="paramtype">bool&nbsp;</td>
 
169
          <td class="paramname"> <em>joinable</em></td><td>&nbsp;</td>
 
170
        </tr>
 
171
        <tr>
 
172
          <td></td>
 
173
          <td>)</td>
 
174
          <td></td><td></td><td><code> [static]</code></td>
212
175
        </tr>
213
176
      </table>
214
177
</div>
215
178
<div class="memdoc">
216
179
 
217
180
<p>
218
 
Returns the Thread* corresponding to the calling thread. 
 
181
Creates a new thread with the priority <code>THREAD_PRIORITY_NORMAL</code>. 
219
182
<p>
220
 
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The current thread. </dd></dl>
221
 
 
 
183
If <em>joinable</em> is <code>true</code>, you can wait for this thread's termination by calling <a class="el" href="classGlib_1_1Thread.html#b95e51699279fd84c9577c45d76b0d8e" title="Waits until the thread finishes.">join()</a>. Otherwise the thread will just disappear, when ready.<p>
 
184
The new thread executes the function or method <em>slot</em> points to. You can pass additional arguments using sigc::bind(). If the thread was created successfully, it is returned, otherwise a <a class="el" href="classGlib_1_1ThreadError.html" title="Exception class for thread-related errors.">ThreadError</a> exception is thrown.<p>
 
185
Because <a class="el" href="classsigc_1_1trackable.html">sigc::trackable</a> is not thread safe, if the slot represents a non-static class method (that is, it is created by <a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/group__s20__3__8__memadaptors.html#ga2">sigc::mem_fun()</a>), the class concerned should not derive from <a class="el" href="classsigc_1_1trackable.html">sigc::trackable</a>.<p>
 
186
<dl compact><dt><b>Parameters:</b></dt><dd>
 
187
  <table border="0" cellspacing="2" cellpadding="0">
 
188
    <tr><td valign="top"></td><td valign="top"><em>slot</em>&nbsp;</td><td>A slot to execute in the new thread. </td></tr>
 
189
    <tr><td valign="top"></td><td valign="top"><em>joinable</em>&nbsp;</td><td>Should this thread be joinable? </td></tr>
 
190
  </table>
 
191
</dl>
 
192
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The new Thread* on success. </dd></dl>
 
193
<dl compact><dt><b>Exceptions:</b></dt><dd>
 
194
  <table border="0" cellspacing="2" cellpadding="0">
 
195
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classGlib_1_1ThreadError.html" title="Exception class for thread-related errors.">Glib::ThreadError</a></em>&nbsp;</td><td></td></tr>
 
196
  </table>
 
197
</dl>
 
198
<dl compact><dt><b>Examples: </b></dt><dd>
 
199
<a class="el" href="thread_2dispatcher_8cc-example.html#a6">thread/dispatcher.cc</a>, and <a class="el" href="thread_2thread_8cc-example.html#a12">thread/thread.cc</a>.</dl>
222
200
</div>
223
201
</div><p>
224
 
<a class="anchor" name="9feee4b860d9928f86b9d255e2f2b133"></a><!-- doxytag: member="Glib::Thread::joinable" ref="9feee4b860d9928f86b9d255e2f2b133" args="() const " -->
 
202
<a class="anchor" name="28d1bcf53d846b8b0d75b93178a614ab"></a><!-- doxytag: member="Glib::Thread::get_priority" ref="28d1bcf53d846b8b0d75b93178a614ab" args="() const " -->
225
203
<div class="memitem">
226
204
<div class="memproto">
227
205
      <table class="memname">
228
206
        <tr>
229
 
          <td class="memname">bool Glib::Thread::joinable           </td>
 
207
          <td class="memname"><a class="el" href="group__glibmmEnums.html#g9b87dca6496b6ad53baec9ca01318448">ThreadPriority</a> Glib::Thread::get_priority           </td>
230
208
          <td>(</td>
231
209
          <td class="paramname">          </td>
232
210
          <td>&nbsp;)&nbsp;</td>
237
215
<div class="memdoc">
238
216
 
239
217
<p>
240
 
Returns whether the thread is joinable. 
241
 
<p>
242
 
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Whether the thread is joinable. </dd></dl>
 
218
Returns the priority of the thread. 
 
219
<p>
 
220
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The thread's priority. </dd></dl>
 
221
 
 
222
</div>
 
223
</div><p>
 
224
<a class="anchor" name="351fa5fb621a394e28037c4f50ab69ad"></a><!-- doxytag: member="Glib::Thread::gobj" ref="351fa5fb621a394e28037c4f50ab69ad" args="() const " -->
 
225
<div class="memitem">
 
226
<div class="memproto">
 
227
      <table class="memname">
 
228
        <tr>
 
229
          <td class="memname">const GThread* Glib::Thread::gobj           </td>
 
230
          <td>(</td>
 
231
          <td class="paramname">          </td>
 
232
          <td>&nbsp;)&nbsp;</td>
 
233
          <td> const<code> [inline]</code></td>
 
234
        </tr>
 
235
      </table>
 
236
</div>
 
237
<div class="memdoc">
 
238
 
 
239
<p>
 
240
 
 
241
</div>
 
242
</div><p>
 
243
<a class="anchor" name="28fbc6c46928a90d82114fa9b6b63196"></a><!-- doxytag: member="Glib::Thread::gobj" ref="28fbc6c46928a90d82114fa9b6b63196" args="()" -->
 
244
<div class="memitem">
 
245
<div class="memproto">
 
246
      <table class="memname">
 
247
        <tr>
 
248
          <td class="memname">GThread* Glib::Thread::gobj           </td>
 
249
          <td>(</td>
 
250
          <td class="paramname">          </td>
 
251
          <td>&nbsp;)&nbsp;</td>
 
252
          <td><code> [inline]</code></td>
 
253
        </tr>
 
254
      </table>
 
255
</div>
 
256
<div class="memdoc">
 
257
 
 
258
<p>
243
259
 
244
260
</div>
245
261
</div><p>
265
281
<a class="el" href="thread_2thread_8cc-example.html#a14">thread/thread.cc</a>.</dl>
266
282
</div>
267
283
</div><p>
 
284
<a class="anchor" name="9feee4b860d9928f86b9d255e2f2b133"></a><!-- doxytag: member="Glib::Thread::joinable" ref="9feee4b860d9928f86b9d255e2f2b133" args="() const " -->
 
285
<div class="memitem">
 
286
<div class="memproto">
 
287
      <table class="memname">
 
288
        <tr>
 
289
          <td class="memname">bool Glib::Thread::joinable           </td>
 
290
          <td>(</td>
 
291
          <td class="paramname">          </td>
 
292
          <td>&nbsp;)&nbsp;</td>
 
293
          <td> const</td>
 
294
        </tr>
 
295
      </table>
 
296
</div>
 
297
<div class="memdoc">
 
298
 
 
299
<p>
 
300
Returns whether the thread is joinable. 
 
301
<p>
 
302
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Whether the thread is joinable. </dd></dl>
 
303
 
 
304
</div>
 
305
</div><p>
 
306
<a class="anchor" name="9db6864c35701b1c179f48217ab76cca"></a><!-- doxytag: member="Glib::Thread::self" ref="9db6864c35701b1c179f48217ab76cca" args="()" -->
 
307
<div class="memitem">
 
308
<div class="memproto">
 
309
      <table class="memname">
 
310
        <tr>
 
311
          <td class="memname">static <a class="el" href="classGlib_1_1Thread.html">Thread</a>* Glib::Thread::self           </td>
 
312
          <td>(</td>
 
313
          <td class="paramname">          </td>
 
314
          <td>&nbsp;)&nbsp;</td>
 
315
          <td><code> [static]</code></td>
 
316
        </tr>
 
317
      </table>
 
318
</div>
 
319
<div class="memdoc">
 
320
 
 
321
<p>
 
322
Returns the Thread* corresponding to the calling thread. 
 
323
<p>
 
324
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The current thread. </dd></dl>
 
325
 
 
326
</div>
 
327
</div><p>
268
328
<a class="anchor" name="3b323f981147d7eb4b4bd03f3fbdccf5"></a><!-- doxytag: member="Glib::Thread::set_priority" ref="3b323f981147d7eb4b4bd03f3fbdccf5" args="(ThreadPriority priority)" -->
269
329
<div class="memitem">
270
330
<div class="memproto">
293
353
 
294
354
</div>
295
355
</div><p>
296
 
<a class="anchor" name="28d1bcf53d846b8b0d75b93178a614ab"></a><!-- doxytag: member="Glib::Thread::get_priority" ref="28d1bcf53d846b8b0d75b93178a614ab" args="() const " -->
297
 
<div class="memitem">
298
 
<div class="memproto">
299
 
      <table class="memname">
300
 
        <tr>
301
 
          <td class="memname"><a class="el" href="group__glibmmEnums.html#g9b87dca6496b6ad53baec9ca01318448">ThreadPriority</a> Glib::Thread::get_priority           </td>
302
 
          <td>(</td>
303
 
          <td class="paramname">          </td>
304
 
          <td>&nbsp;)&nbsp;</td>
305
 
          <td> const</td>
306
 
        </tr>
307
 
      </table>
308
 
</div>
309
 
<div class="memdoc">
310
 
 
311
 
<p>
312
 
Returns the priority of the thread. 
313
 
<p>
314
 
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The thread's priority. </dd></dl>
315
 
 
316
 
</div>
317
 
</div><p>
318
356
<a class="anchor" name="cad8be7a8093ef3aca32344264461011"></a><!-- doxytag: member="Glib::Thread::yield" ref="cad8be7a8093ef3aca32344264461011" args="()" -->
319
357
<div class="memitem">
320
358
<div class="memproto">
336
374
This function is often used as a method to make busy wait less evil. But in most cases, you will encounter, there are better methods to do that. So in general you shouldn't use this function. 
337
375
</div>
338
376
</div><p>
339
 
<a class="anchor" name="28fbc6c46928a90d82114fa9b6b63196"></a><!-- doxytag: member="Glib::Thread::gobj" ref="28fbc6c46928a90d82114fa9b6b63196" args="()" -->
340
 
<div class="memitem">
341
 
<div class="memproto">
342
 
      <table class="memname">
343
 
        <tr>
344
 
          <td class="memname">GThread* Glib::Thread::gobj           </td>
345
 
          <td>(</td>
346
 
          <td class="paramname">          </td>
347
 
          <td>&nbsp;)&nbsp;</td>
348
 
          <td><code> [inline]</code></td>
349
 
        </tr>
350
 
      </table>
351
 
</div>
352
 
<div class="memdoc">
353
 
 
354
 
<p>
355
 
 
356
 
</div>
357
 
</div><p>
358
 
<a class="anchor" name="351fa5fb621a394e28037c4f50ab69ad"></a><!-- doxytag: member="Glib::Thread::gobj" ref="351fa5fb621a394e28037c4f50ab69ad" args="() const " -->
359
 
<div class="memitem">
360
 
<div class="memproto">
361
 
      <table class="memname">
362
 
        <tr>
363
 
          <td class="memname">const GThread* Glib::Thread::gobj           </td>
364
 
          <td>(</td>
365
 
          <td class="paramname">          </td>
366
 
          <td>&nbsp;)&nbsp;</td>
367
 
          <td> const<code> [inline]</code></td>
368
 
        </tr>
369
 
      </table>
370
 
</div>
371
 
<div class="memdoc">
372
 
 
373
 
<p>
374
 
 
375
 
</div>
376
 
</div><p>
377
377
<hr>The documentation for this class was generated from the following file:<ul>
378
378
<li><a class="el" href="thread_8h.html">thread.h</a></ul>
379
379
</div>
381
381
 
382
382
<hr><address><small>
383
383
Generated for glibmm 2.4 by <a href="http://www.doxygen.org/index.html">
384
 
Doxygen</a> 1.5.6 &copy;&nbsp;1997-2001</small></address>
 
384
Doxygen</a> 1.5.8 &copy;&nbsp;1997-2001</small></address>
385
385
</body>
386
386
</html>