Bonsoir a tous. Dans le cadre de mes études, je suis amené a étudier la librairie GTK.
Nous avons notemment vu que la procédure (ou fonction vu qu'on est en C :p) gtk_main() lance une boucle infinie afin de traiter la gestion de signal, quel qu'il soit sur les widgets qu'on a initialisé.
Or, une fois cette boucle lancée, nous n'avons aucun controle sur le déroulement des taches. Tout les signaux sont déja affectés a des fonctions callbacks, et s'activent lorsque la boucle évenementielle les recoit.
Ma question se situe au niveau de ce lancement de boucle. Est il possible, de faire du multithreading pour avoir d'un coté la boucle évènementielle qui s'éxécute, et de l'autre faire ce qu'on veut?
Prenons un exemple simple. Vous connaissez peut etre les tutoriaux du SdZ. Dans les tutoriaux C, on peut réaliser avec fmod et SDL une analyse d'amplitude d'un son en temps réel. Imaginons que j'ai envie de réaliser une application avec un choix de musique dans une liste déroulante. Une fois la musique choisie, l'appli du tutorial se lance, et tourne en parallele, permettant toujours a la boucle évenementielle de réaliser sa tache premiere, a savoir etre en attente de signal afin d'executer une fonction callback quand nécessaire.
Je vous remercie d'avoir passé un peu de temps a me lire
Pim's
Partager