Improve separation of generic non-generic parts and dependencies.
[platform/upstream/glib.git] / docs / reference / glib / tmpl / threads.sgml
1 <!-- ##### SECTION Title ##### -->
2 Threads
3
4 <!-- ##### SECTION Short_Description ##### -->
5
6
7 <!-- ##### SECTION Long_Description ##### -->
8 <para>
9
10 </para>
11
12 <!-- ##### SECTION See_Also ##### -->
13 <para>
14
15 </para>
16
17 <!-- ##### MACRO G_THREADS_ENABLED ##### -->
18 <para>
19
20 </para>
21
22
23
24 <!-- ##### MACRO G_THREADS_IMPL_POSIX ##### -->
25 <para>
26
27 </para>
28
29
30
31 <!-- ##### MACRO G_THREADS_IMPL_SOLARIS ##### -->
32 <para>
33
34 </para>
35
36
37
38 <!-- ##### MACRO G_THREADS_IMPL_NONE ##### -->
39 <para>
40
41 </para>
42
43
44
45 <!-- ##### MACRO G_THREAD_ERROR ##### -->
46 <para>
47
48 </para>
49
50
51
52 <!-- ##### ENUM GThreadError ##### -->
53 <para>
54
55 </para>
56
57 @G_THREAD_ERROR_AGAIN: 
58
59 <!-- ##### STRUCT GThreadFunctions ##### -->
60 <para>
61
62 </para>
63
64 @mutex_new: 
65 @mutex_lock: 
66 @mutex_trylock: 
67 @mutex_unlock: 
68 @mutex_free: 
69 @cond_new: 
70 @cond_signal: 
71 @cond_broadcast: 
72 @cond_wait: 
73 @cond_timed_wait: 
74 @cond_free: 
75 @private_new: 
76 @private_get: 
77 @private_set: 
78 @thread_create: 
79 @thread_yield: 
80 @thread_join: 
81 @thread_exit: 
82 @thread_set_priority: 
83 @thread_self: 
84
85 <!-- ##### FUNCTION g_thread_init ##### -->
86 <para>
87
88 </para>
89
90 @vtable: 
91
92
93 <!-- ##### FUNCTION g_thread_supported ##### -->
94 <para>
95
96 </para>
97
98 @Returns: 
99
100
101 <!-- ##### USER_FUNCTION GThreadFunc ##### -->
102 <para>
103
104 </para>
105
106 @value: 
107
108
109 <!-- ##### ENUM GThreadPriority ##### -->
110 <para>
111
112 </para>
113
114 @G_THREAD_PRIORITY_LOW: 
115 @G_THREAD_PRIORITY_NORMAL: 
116 @G_THREAD_PRIORITY_HIGH: 
117 @G_THREAD_PRIORITY_URGENT: 
118
119 <!-- ##### STRUCT GThread ##### -->
120 <para>
121
122 </para>
123
124 @priority: 
125 @bound: 
126 @joinable: 
127
128 <!-- ##### FUNCTION g_thread_create ##### -->
129 <para>
130
131 </para>
132
133 @thread_func: 
134 @arg: 
135 @stack_size: 
136 @joinable: 
137 @bound: 
138 @priority: 
139 @error: 
140 @Returns: 
141
142
143 <!-- ##### FUNCTION g_thread_self ##### -->
144 <para>
145
146 </para>
147
148 @Returns: 
149
150
151 <!-- ##### FUNCTION g_thread_join ##### -->
152 <para>
153
154 </para>
155
156 @thread: 
157
158
159 <!-- ##### FUNCTION g_thread_set_priority ##### -->
160 <para>
161
162 </para>
163
164 @thread: 
165 @priority: 
166
167
168 <!-- ##### MACRO g_thread_yield ##### -->
169 <para>
170
171 </para>
172
173
174
175 <!-- ##### MACRO g_thread_exit ##### -->
176 <para>
177
178 </para>
179
180
181
182 <!-- ##### STRUCT GMutex ##### -->
183 <para>
184
185 </para>
186
187
188 <!-- ##### FUNCTION g_mutex_new ##### -->
189 <para>
190
191 </para>
192
193 @Returns: 
194
195
196 <!-- ##### FUNCTION g_mutex_lock ##### -->
197 <para>
198
199 </para>
200
201 @mutex: 
202
203
204 <!-- ##### FUNCTION g_mutex_trylock ##### -->
205 <para>
206
207 </para>
208
209 @mutex: 
210 @Returns: 
211
212
213 <!-- ##### FUNCTION g_mutex_unlock ##### -->
214 <para>
215
216 </para>
217
218 @mutex: 
219
220
221 <!-- ##### FUNCTION g_mutex_free ##### -->
222 <para>
223
224 </para>
225
226 @mutex: 
227
228
229 <!-- ##### STRUCT GStaticMutex ##### -->
230 <para>
231
232 </para>
233
234
235 <!-- ##### MACRO G_STATIC_MUTEX_INIT ##### -->
236 <para>
237
238 </para>
239
240
241
242 <!-- ##### FUNCTION g_static_mutex_lock ##### -->
243 <para>
244
245 </para>
246
247 @mutex: 
248
249
250 <!-- ##### FUNCTION g_static_mutex_trylock ##### -->
251 <para>
252
253 </para>
254
255 @mutex: 
256 @Returns: 
257
258
259 <!-- ##### FUNCTION g_static_mutex_unlock ##### -->
260 <para>
261
262 </para>
263
264 @mutex: 
265
266
267 <!-- ##### FUNCTION g_static_mutex_get_mutex ##### -->
268 <para>
269
270 </para>
271
272 @mutex: 
273 @Returns: 
274
275
276 <!-- ##### MACRO G_LOCK_DEFINE ##### -->
277 <para>
278
279 </para>
280
281 @name: 
282
283
284 <!-- ##### MACRO G_LOCK_DEFINE_STATIC ##### -->
285 <para>
286
287 </para>
288
289 @name: 
290
291
292 <!-- ##### MACRO G_LOCK_EXTERN ##### -->
293 <para>
294
295 </para>
296
297 @name: 
298
299
300 <!-- ##### MACRO G_LOCK ##### -->
301 <para>
302
303 </para>
304
305 @name: 
306
307
308 <!-- ##### MACRO G_TRYLOCK ##### -->
309 <para>
310
311 </para>
312
313 @name: 
314
315
316 <!-- ##### MACRO G_UNLOCK ##### -->
317 <para>
318
319 </para>
320
321 @name: 
322
323
324 <!-- ##### STRUCT GStaticRecMutex ##### -->
325 <para>
326
327 </para>
328
329 @mutex: 
330 @depth: 
331 @owner: 
332
333 <!-- ##### MACRO G_STATIC_REC_MUTEX_INIT ##### -->
334 <para>
335
336 </para>
337
338
339
340 <!-- ##### FUNCTION g_static_rec_mutex_lock ##### -->
341 <para>
342
343 </para>
344
345 @mutex: 
346
347
348 <!-- ##### FUNCTION g_static_rec_mutex_trylock ##### -->
349 <para>
350
351 </para>
352
353 @mutex: 
354 @Returns: 
355
356
357 <!-- ##### FUNCTION g_static_rec_mutex_unlock ##### -->
358 <para>
359
360 </para>
361
362 @mutex: 
363
364
365 <!-- ##### FUNCTION g_static_rec_mutex_lock_full ##### -->
366 <para>
367
368 </para>
369
370 @mutex: 
371 @depth: 
372
373
374 <!-- ##### FUNCTION g_static_rec_mutex_unlock_full ##### -->
375 <para>
376
377 </para>
378
379 @mutex: 
380 @Returns: 
381
382
383 <!-- ##### STRUCT GStaticRWLock ##### -->
384 <para>
385
386 </para>
387
388 @mutex: 
389 @read_cond: 
390 @write_cond: 
391 @read_counter: 
392 @write: 
393 @want_to_write: 
394
395 <!-- ##### MACRO G_STATIC_RW_LOCK_INIT ##### -->
396 <para>
397
398 </para>
399
400
401
402 <!-- ##### FUNCTION g_static_rw_lock_reader_lock ##### -->
403 <para>
404
405 </para>
406
407 @lock: 
408
409
410 <!-- ##### FUNCTION g_static_rw_lock_reader_trylock ##### -->
411 <para>
412
413 </para>
414
415 @lock: 
416 @Returns: 
417
418
419 <!-- ##### FUNCTION g_static_rw_lock_reader_unlock ##### -->
420 <para>
421
422 </para>
423
424 @lock: 
425
426
427 <!-- ##### FUNCTION g_static_rw_lock_writer_lock ##### -->
428 <para>
429
430 </para>
431
432 @lock: 
433
434
435 <!-- ##### FUNCTION g_static_rw_lock_writer_trylock ##### -->
436 <para>
437
438 </para>
439
440 @lock: 
441 @Returns: 
442
443
444 <!-- ##### FUNCTION g_static_rw_lock_writer_unlock ##### -->
445 <para>
446
447 </para>
448
449 @lock: 
450
451
452 <!-- ##### FUNCTION g_static_rw_lock_free ##### -->
453 <para>
454
455 </para>
456
457 @lock: 
458
459
460 <!-- ##### STRUCT GCond ##### -->
461 <para>
462
463 </para>
464
465
466 <!-- ##### FUNCTION g_cond_new ##### -->
467 <para>
468
469 </para>
470
471 @Returns: 
472
473
474 <!-- ##### FUNCTION g_cond_signal ##### -->
475 <para>
476
477 </para>
478
479 @cond: 
480
481
482 <!-- ##### FUNCTION g_cond_broadcast ##### -->
483 <para>
484
485 </para>
486
487 @cond: 
488
489
490 <!-- ##### FUNCTION g_cond_wait ##### -->
491 <para>
492
493 </para>
494
495 @cond: 
496 @mutex: 
497
498
499 <!-- ##### FUNCTION g_cond_timed_wait ##### -->
500 <para>
501
502 </para>
503
504 @cond: 
505 @mutex: 
506 @abs_time: 
507 @Returns: 
508
509
510 <!-- ##### FUNCTION g_cond_free ##### -->
511 <para>
512
513 </para>
514
515 @cond: 
516
517
518 <!-- ##### STRUCT GPrivate ##### -->
519 <para>
520
521 </para>
522
523
524 <!-- ##### FUNCTION g_private_new ##### -->
525 <para>
526
527 </para>
528
529 @destructor: 
530 @Returns: 
531
532
533 <!-- ##### FUNCTION g_private_get ##### -->
534 <para>
535
536 </para>
537
538 @private_key: 
539 @Returns: 
540
541
542 <!-- ##### FUNCTION g_private_set ##### -->
543 <para>
544
545 </para>
546
547 @private_key: 
548 @data: 
549
550
551 <!-- ##### STRUCT GStaticPrivate ##### -->
552 <para>
553
554 </para>
555
556 @index: 
557
558 <!-- ##### MACRO G_STATIC_PRIVATE_INIT ##### -->
559 <para>
560
561 </para>
562
563
564
565 <!-- ##### FUNCTION g_static_private_get ##### -->
566 <para>
567
568 </para>
569
570 @private_key: 
571 @Returns: 
572
573
574 <!-- ##### FUNCTION g_static_private_get_for_thread ##### -->
575 <para>
576
577 </para>
578
579 @private_key: 
580 @thread: 
581 @Returns: 
582
583
584 <!-- ##### FUNCTION g_static_private_set ##### -->
585 <para>
586
587 </para>
588
589 @private_key: 
590 @data: 
591 @notify: 
592
593
594 <!-- ##### FUNCTION g_static_private_set_for_thread ##### -->
595 <para>
596
597 </para>
598
599 @private_key: 
600 @thread: 
601 @data: 
602 @notify: 
603
604