En fait la plupart des tookits ne sont pas thread-safes, ou plutût l'interface graphique ne peut être panipulée que par une seule thread (cf MFC ou Java). C'est à mon avis assez cohérent, puisque tous les tookits sont basés sur une boucle d'événements, ce qui impose une gestion particulière des threads. Et bien souvent, il ne suffit pas de faire de l'exclusion mutuelle à la main puisque justement on ne maîtrise pas la boucle d'événements et que l'on ne peut donc pas se placer en exclusion mutuelle avec elle.
D'ailleurs cela ne pose pas de problème en général, et c'est même tout à fait logique. Les GUI sont de toute façon dirigées par l'utilisateur, et le plus souvent il n'y a pas lieu de la manipuler de façon parallèle.
Et quand c'est vraiment nécessaire, il suffit de s'insérer dans la boucle d'événements. Par exemple, en Java avec Swing, il suffit d'utiliser les méthodes SwingUtilities.invokeLater() ou SwingUtilities.invokeAndWait()...
PS: que les premières lignes de ce message ne vous fassent pas croire que je considère MFC comme un framework valable...
[^] # Re: mouaip
Posté par fbilhaut . En réponse à la dépêche Motif contre QT et GTK+. Évalué à 1.
D'ailleurs cela ne pose pas de problème en général, et c'est même tout à fait logique. Les GUI sont de toute façon dirigées par l'utilisateur, et le plus souvent il n'y a pas lieu de la manipuler de façon parallèle.
Et quand c'est vraiment nécessaire, il suffit de s'insérer dans la boucle d'événements. Par exemple, en Java avec Swing, il suffit d'utiliser les méthodes SwingUtilities.invokeLater() ou SwingUtilities.invokeAndWait()...
PS: que les premières lignes de ce message ne vous fassent pas croire que je considère MFC comme un framework valable...