====== Différences ====== Ci-dessous, les différences entre deux révisions de la page.
|
allegro:threads [2012/03/17 00:58] mrhide [Exemple basique] |
allegro:threads [2012/06/29 17:02] (Version actuelle) mrhide [Threads] |
||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | ===== Threads ===== | + | ===== Allegro — Threads ===== |
| Dans cet article nous allons voir comment utiliser l'interface de threading d'Allegro. | Dans cet article nous allons voir comment utiliser l'interface de threading d'Allegro. | ||
| - | |||
| - | FIXME faire le walktrough | ||
| ==== Exemple basique ==== | ==== Exemple basique ==== | ||
| Ligne 237: | Ligne 235: | ||
| </code> | </code> | ||
| - | Pour terminer ce type de thread, un **join** ne suffit pas car il n'enlève pas les **locks** dus aux conditions. Vous devez utiliser à la place : | + | La fonction restera bloquée sur **al_wait_cond** tant que le thread parent n'a pas appelé **al_broadcast_cond**. |
| + | |||
| + | Pour terminer ce type de thread, un **join** ne suffit pas car il n'enlève pas les **locks** dûs aux conditions. Vous devez utiliser à la place : | ||
| <code C> | <code C> | ||
| Ligne 245: | Ligne 245: | ||
| al_unlock_mutex(data.mutex); | al_unlock_mutex(data.mutex); | ||
| </code> | </code> | ||
| + | |||
| + | Maintenant que vous savez utiliser les threads, vous savez pratiquement tout ce qu'il y a à savoir sur le core d'allegro, dans la suite de ce tutoriel nous aborderons les différents greffons d'Allegro. | ||
| [[allegro:input|Précédent]] << [[allegro:start#articles|Sommaire]] >> [[allegro:addons|Suivant]] | [[allegro:input|Précédent]] << [[allegro:start#articles|Sommaire]] >> [[allegro:addons|Suivant]] | ||