Bonjour, est ce que, quand on souhaite créer une application avec plusieurs fenêtres interagissant entre elles, on doit lancer plusieurs threads, où bien est ce que cela peut être géré automatiquement par Windows?
Merci de votre réponse
Bonjour, est ce que, quand on souhaite créer une application avec plusieurs fenêtres interagissant entre elles, on doit lancer plusieurs threads, où bien est ce que cela peut être géré automatiquement par Windows?
Merci de votre réponse
tu n'es pas obligé de créer plusieurs threads, car tu peux ouvrir plusieurs fenêtres à partir de la même application,
par contre tu es obligé de poster sur le bon forum ! => Visual C++.
T'y vas un peu vite tut.
Heureusement, quand on développe sous Windows;
on n'est obligé d'utiliser Visual C++ !
Ma question était générale sur le C++, et bien que je développe sous windows, ça pourrait aussi sans doute fonctionner quelque soit le système d'exploitation ou les outils de développement.
En fait, la décision d'utiliser des threads secondaires ne dépend pas du nombre de fenêtre,
mais des traitements associés au fenêtres.
Si il y a des traitements long (qui rique de friser l'affichage)
ou tes traitements avec tempo, ça peut être intérressant d'utiliser des threads. Il faut bien être concsient que l'utilisation de threads complexifie le développement (en particulier pour le partage des ressources).
D'une manière général ce n'est pas utile. Surtout que les procédures d'affichage doivent être réalisées pas le thread principale.
cette question n'est pas spécifique au langage C++, mais à la programmation Windows : la même question pourrait posée en VB, par exemple, ou encore en C.Envoyé par Mastero
De plus, sur ce forum on pose généralement les questions ayant un rapport avec les API et les MFC dans le forum Visual C++.
Si je te conseille d'utiliser le forum Visual C++ c'est pour que tu aies plus de réponses interressantes, pas pour faire le policier.
Je suis d'accord avec la réponse de Troll, que je complète en précisant qu'ils éxistent dans le monde merveilleux de la programmation windows deux types de threads : les workers thread (qui servent typiquement à faire des opérations sur des données en tâche de fond) et les graphical thread (qui implémentent une boucle de message et sont rattachés à une fenêtre).
En général, je me permets de te conseiller de ne pas utiliser les graphical threads : c'est un beau bordel. On peut normalement se débrouiller avec les workers threads et les envois de messages standards windows.
Le mieux étant de n'utiliser ni l'un ni l'autre, sauf quand c'est nécessaire.
Ca sert à rien d'utiliser un tank pour tuer une mouche, mais des fois, on a pas le choix.
Bon courage.
Le probleme c'est que y'a pas de notion de thread ou de fenêtre en C++ standard:Envoyé par Mastero
http://c.developpez.com/faq/cpp/?pag...ENERALITES_gui
donc dit nous avec quoi tu développe qu'on redirige vers un forum plus approprié (Dev Windows / VC++ / BCB).
Je posai une question générale en C++ mais je prenais mon exemple sous windows, je travaille en effet sous Visual, mais je connais ce forum, quand je pose une question sur le maniement de visual, je vais sur Visual et si elle est + générale je vais ici.
La gestion de plusieurs fenêtres avec C++ et multithreading doit exister aussi sur Linux ou Mac OS.
D'une manière plus générale, je ne favorise aucun système d'exploitation ou de dev par rapport à l'autre. Pour moi ce sont des outils qui ont leurs qualités propres et leurs défauts. Mais là on sort, en effet du cadre de ma question initiale.
En général le thread principal sert à dispatcher les messages vers les fenêtres donc les fenêtres sont toutes crées/gérées par un seul thread. Les autres thread communiquent avec le thread principal qui gère les fenêtres en conséquences...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager