Initial commit
[platform/upstream/glib2.0.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
13 <!-- ##### SECTION See_Also ##### -->
14 <para>
15
16 </para>
17
18
19 <!-- ##### SECTION Stability_Level ##### -->
20
21
22 <!-- ##### MACRO G_THREADS_ENABLED ##### -->
23 <para>
24
25 </para>
26
27
28
29 <!-- ##### MACRO G_THREADS_IMPL_POSIX ##### -->
30 <para>
31
32 </para>
33
34
35
36 <!-- ##### MACRO G_THREADS_IMPL_NONE ##### -->
37 <para>
38
39 </para>
40
41
42
43 <!-- ##### MACRO G_THREAD_ERROR ##### -->
44 <para>
45
46 </para>
47
48
49
50 <!-- ##### ENUM GThreadError ##### -->
51 <para>
52
53 </para>
54
55 @G_THREAD_ERROR_AGAIN: 
56
57 <!-- ##### STRUCT GThreadFunctions ##### -->
58 <para>
59
60 </para>
61
62 @mutex_new: 
63 @mutex_lock: 
64 @mutex_trylock: 
65 @mutex_unlock: 
66 @mutex_free: 
67 @cond_new: 
68 @cond_signal: 
69 @cond_broadcast: 
70 @cond_wait: 
71 @cond_timed_wait: 
72 @cond_free: 
73 @private_new: 
74 @private_get: 
75 @private_set: 
76 @thread_create: 
77 @thread_yield: 
78 @thread_join: 
79 @thread_exit: 
80 @thread_set_priority: 
81 @thread_self: 
82 @thread_equal: 
83
84 <!-- ##### FUNCTION g_thread_init ##### -->
85 <para>
86
87 </para>
88
89 @vtable: 
90
91
92 <!-- ##### FUNCTION g_thread_supported ##### -->
93 <para>
94
95 </para>
96
97 @Returns: 
98
99
100 <!-- ##### FUNCTION g_thread_get_initialized ##### -->
101 <para>
102
103 </para>
104
105 @Returns: 
106
107
108 <!-- ##### USER_FUNCTION GThreadFunc ##### -->
109 <para>
110
111 </para>
112
113 @data: 
114 @Returns: 
115
116
117 <!-- ##### ENUM GThreadPriority ##### -->
118 <para>
119
120 </para>
121
122 @G_THREAD_PRIORITY_LOW: 
123 @G_THREAD_PRIORITY_NORMAL: 
124 @G_THREAD_PRIORITY_HIGH: 
125 @G_THREAD_PRIORITY_URGENT: 
126
127 <!-- ##### STRUCT GThread ##### -->
128 <para>
129
130 </para>
131
132
133 <!-- ##### FUNCTION g_thread_create ##### -->
134 <para>
135
136 </para>
137
138 @func: 
139 @data: 
140 @joinable: 
141 @error: 
142 @Returns: 
143
144
145 <!-- ##### FUNCTION g_thread_create_full ##### -->
146 <para>
147
148 </para>
149
150 @func: 
151 @data: 
152 @stack_size: 
153 @joinable: 
154 @bound: 
155 @priority: 
156 @error: 
157 @Returns: 
158
159
160 <!-- ##### FUNCTION g_thread_self ##### -->
161 <para>
162
163 </para>
164
165 @Returns: 
166
167
168 <!-- ##### FUNCTION g_thread_join ##### -->
169 <para>
170
171 </para>
172
173 @thread: 
174 @Returns: 
175
176
177 <!-- ##### FUNCTION g_thread_set_priority ##### -->
178 <para>
179
180 </para>
181
182 @thread: 
183 @priority: 
184
185
186 <!-- ##### FUNCTION g_thread_yield ##### -->
187 <para>
188
189 </para>
190
191
192
193 <!-- ##### FUNCTION g_thread_exit ##### -->
194 <para>
195
196 </para>
197
198 @retval: 
199
200
201 <!-- ##### FUNCTION g_thread_foreach ##### -->
202 <para>
203
204 </para>
205
206 @thread_func: 
207 @user_data: 
208
209
210 <!-- ##### STRUCT GMutex ##### -->
211 <para>
212
213 </para>
214
215
216 <!-- ##### FUNCTION g_mutex_new ##### -->
217 <para>
218
219 </para>
220
221 @Returns: 
222
223
224 <!-- ##### FUNCTION g_mutex_lock ##### -->
225 <para>
226
227 </para>
228
229 @mutex: 
230
231
232 <!-- ##### FUNCTION g_mutex_trylock ##### -->
233 <para>
234
235 </para>
236
237 @mutex: 
238 @Returns: 
239
240
241 <!-- ##### FUNCTION g_mutex_unlock ##### -->
242 <para>
243
244 </para>
245
246 @mutex: 
247
248
249 <!-- ##### FUNCTION g_mutex_free ##### -->
250 <para>
251
252 </para>
253
254 @mutex: 
255
256
257 <!-- ##### STRUCT GStaticMutex ##### -->
258 <para>
259
260 </para>
261
262
263 <!-- ##### MACRO G_STATIC_MUTEX_INIT ##### -->
264 <para>
265
266 </para>
267
268
269
270 <!-- ##### FUNCTION g_static_mutex_init ##### -->
271 <para>
272
273 </para>
274
275 @mutex: 
276
277
278 <!-- ##### FUNCTION g_static_mutex_lock ##### -->
279 <para>
280
281 </para>
282
283 @mutex: 
284
285
286 <!-- ##### FUNCTION g_static_mutex_trylock ##### -->
287 <para>
288
289 </para>
290
291 @mutex: 
292 @Returns: 
293
294
295 <!-- ##### FUNCTION g_static_mutex_unlock ##### -->
296 <para>
297
298 </para>
299
300 @mutex: 
301
302
303 <!-- ##### FUNCTION g_static_mutex_get_mutex ##### -->
304 <para>
305
306 </para>
307
308 @mutex: 
309 @Returns: 
310
311
312 <!-- ##### FUNCTION g_static_mutex_free ##### -->
313 <para>
314
315 </para>
316
317 @mutex: 
318
319
320 <!-- ##### MACRO G_LOCK_DEFINE ##### -->
321 <para>
322
323 </para>
324
325 @name: 
326
327
328 <!-- ##### MACRO G_LOCK_DEFINE_STATIC ##### -->
329 <para>
330
331 </para>
332
333 @name: 
334
335
336 <!-- ##### MACRO G_LOCK_EXTERN ##### -->
337 <para>
338
339 </para>
340
341 @name: 
342
343
344 <!-- ##### MACRO G_LOCK ##### -->
345 <para>
346
347 </para>
348
349 @name: 
350
351
352 <!-- ##### MACRO G_TRYLOCK ##### -->
353 <para>
354
355 </para>
356
357 @name: 
358
359
360 <!-- ##### MACRO G_UNLOCK ##### -->
361 <para>
362
363 </para>
364
365 @name: 
366
367
368 <!-- ##### STRUCT GStaticRecMutex ##### -->
369 <para>
370
371 </para>
372
373
374 <!-- ##### MACRO G_STATIC_REC_MUTEX_INIT ##### -->
375 <para>
376
377 </para>
378
379
380
381 <!-- ##### FUNCTION g_static_rec_mutex_init ##### -->
382 <para>
383
384 </para>
385
386 @mutex: 
387
388
389 <!-- ##### FUNCTION g_static_rec_mutex_lock ##### -->
390 <para>
391
392 </para>
393
394 @mutex: 
395
396
397 <!-- ##### FUNCTION g_static_rec_mutex_trylock ##### -->
398 <para>
399
400 </para>
401
402 @mutex: 
403 @Returns: 
404
405
406 <!-- ##### FUNCTION g_static_rec_mutex_unlock ##### -->
407 <para>
408
409 </para>
410
411 @mutex: 
412
413
414 <!-- ##### FUNCTION g_static_rec_mutex_lock_full ##### -->
415 <para>
416
417 </para>
418
419 @mutex: 
420 @depth: 
421
422
423 <!-- ##### FUNCTION g_static_rec_mutex_unlock_full ##### -->
424 <para>
425
426 </para>
427
428 @mutex: 
429 @Returns: 
430
431
432 <!-- ##### FUNCTION g_static_rec_mutex_free ##### -->
433 <para>
434
435 </para>
436
437 @mutex: 
438
439
440 <!-- ##### STRUCT GStaticRWLock ##### -->
441 <para>
442
443 </para>
444
445
446 <!-- ##### MACRO G_STATIC_RW_LOCK_INIT ##### -->
447 <para>
448
449 </para>
450
451
452
453 <!-- ##### FUNCTION g_static_rw_lock_init ##### -->
454 <para>
455
456 </para>
457
458 @lock: 
459
460
461 <!-- ##### FUNCTION g_static_rw_lock_reader_lock ##### -->
462 <para>
463
464 </para>
465
466 @lock: 
467
468
469 <!-- ##### FUNCTION g_static_rw_lock_reader_trylock ##### -->
470 <para>
471
472 </para>
473
474 @lock: 
475 @Returns: 
476
477
478 <!-- ##### FUNCTION g_static_rw_lock_reader_unlock ##### -->
479 <para>
480
481 </para>
482
483 @lock: 
484
485
486 <!-- ##### FUNCTION g_static_rw_lock_writer_lock ##### -->
487 <para>
488
489 </para>
490
491 @lock: 
492
493
494 <!-- ##### FUNCTION g_static_rw_lock_writer_trylock ##### -->
495 <para>
496
497 </para>
498
499 @lock: 
500 @Returns: 
501
502
503 <!-- ##### FUNCTION g_static_rw_lock_writer_unlock ##### -->
504 <para>
505
506 </para>
507
508 @lock: 
509
510
511 <!-- ##### FUNCTION g_static_rw_lock_free ##### -->
512 <para>
513
514 </para>
515
516 @lock: 
517
518
519 <!-- ##### STRUCT GCond ##### -->
520 <para>
521
522 </para>
523
524
525 <!-- ##### FUNCTION g_cond_new ##### -->
526 <para>
527
528 </para>
529
530 @Returns: 
531
532
533 <!-- ##### FUNCTION g_cond_signal ##### -->
534 <para>
535
536 </para>
537
538 @cond: 
539
540
541 <!-- ##### FUNCTION g_cond_broadcast ##### -->
542 <para>
543
544 </para>
545
546 @cond: 
547
548
549 <!-- ##### FUNCTION g_cond_wait ##### -->
550 <para>
551
552 </para>
553
554 @cond: 
555 @mutex: 
556
557
558 <!-- ##### FUNCTION g_cond_timed_wait ##### -->
559 <para>
560
561 </para>
562
563 @cond: 
564 @mutex: 
565 @abs_time: 
566 @Returns: 
567
568
569 <!-- ##### FUNCTION g_cond_free ##### -->
570 <para>
571
572 </para>
573
574 @cond: 
575
576
577 <!-- ##### STRUCT GPrivate ##### -->
578 <para>
579
580 </para>
581
582
583 <!-- ##### FUNCTION g_private_new ##### -->
584 <para>
585
586 </para>
587
588 @destructor: 
589 @Returns: 
590
591
592 <!-- ##### FUNCTION g_private_get ##### -->
593 <para>
594
595 </para>
596
597 @private_key: 
598 @Returns: 
599
600
601 <!-- ##### FUNCTION g_private_set ##### -->
602 <para>
603
604 </para>
605
606 @private_key: 
607 @data: 
608
609
610 <!-- ##### STRUCT GStaticPrivate ##### -->
611 <para>
612
613 </para>
614
615
616 <!-- ##### MACRO G_STATIC_PRIVATE_INIT ##### -->
617 <para>
618
619 </para>
620
621
622
623 <!-- ##### FUNCTION g_static_private_init ##### -->
624 <para>
625
626 </para>
627
628 @private_key: 
629
630
631 <!-- ##### FUNCTION g_static_private_get ##### -->
632 <para>
633
634 </para>
635
636 @private_key: 
637 @Returns: 
638
639
640 <!-- ##### FUNCTION g_static_private_set ##### -->
641 <para>
642
643 </para>
644
645 @private_key: 
646 @data: 
647 @notify: 
648
649
650 <!-- ##### FUNCTION g_static_private_free ##### -->
651 <para>
652
653 </para>
654
655 @private_key: 
656
657
658 <!-- ##### STRUCT GOnce ##### -->
659 <para>
660
661 </para>
662
663 @status: 
664 @retval: 
665
666 <!-- ##### ENUM GOnceStatus ##### -->
667 <para>
668
669 </para>
670
671 @G_ONCE_STATUS_NOTCALLED: 
672 @G_ONCE_STATUS_PROGRESS: 
673 @G_ONCE_STATUS_READY: 
674
675 <!-- ##### MACRO G_ONCE_INIT ##### -->
676 <para>
677
678 </para>
679
680
681
682 <!-- ##### MACRO g_once ##### -->
683 <para>
684
685 </para>
686
687 @once: 
688 @func: 
689 @arg: 
690
691
692 <!-- ##### FUNCTION g_once_init_enter ##### -->
693 <para>
694
695 </para>
696
697 @value_location: 
698 @Returns: 
699
700
701 <!-- ##### FUNCTION g_once_init_leave ##### -->
702 <para>
703
704 </para>
705
706 @value_location: 
707 @initialization_value: 
708
709
710 <!-- ##### FUNCTION g_bit_lock ##### -->
711 <para>
712
713 </para>
714
715 @address: 
716 @lock_bit: 
717
718
719 <!-- ##### FUNCTION g_bit_trylock ##### -->
720 <para>
721
722 </para>
723
724 @address: 
725 @lock_bit: 
726 @Returns: 
727
728
729 <!-- ##### FUNCTION g_bit_unlock ##### -->
730 <para>
731
732 </para>
733
734 @address: 
735 @lock_bit: 
736
737