Le 6 Feb 2002 Guillaume Desnoix a �crit :

> 
> Tout simplement pour eviter qu'une appli consomme toute la memoire (et
> de ce fait bloque le bureau et toutes les autres applis). J'avais
> pense a redefinir la classe Object (ca marche) mais la consequence est
> que chaque appli a des classes totalement differentes et donc ne sont
> plus compatibles (ne peuvent etre affichees sur le meme bureau.
> 

Moi je pense que tu confonds bureau et syst�me d'exploitation. Mais 
tu as le droit, je ne veux en aucun cas me lancer dans un troll 
"bureau ou syst�me d'exploitation ?" !

> 
> 
> En fait il n'y a pas de group pour swing mais un seul thread. L'idee
> est effectivement de le controler... surement avec un autre thread de
> priorite superieure.
> 

Rien ne t'emp�che de ne mettre qu'un thread dans un groupe de thread 
(ou m�me aucun !). Depuis le ThreadGroup tu peux contr�ler 
diff�rentes choses qui peuvent �tre int�ressantes, comme la priorit� 
des threads, ou attraper les exceptions issues des threads.


> En fait je pense recuperer la EventQueue et filtrer les evenements
> selon les applis. Et placer un delai maximal d'execution pour chaque
> evenement... Ca simplifierait quand meme pas mal les choses si Swing
> etait multi-threade.
> 

Du cot� de swing y'a effectivement pas mal de choses � am�liorer, 
mais le sujet est complexe.

> 
> J'ai deja un SecurityManager personnalise, c'est lui qui grace a
> getClassContext() me permet de determiner quelle appli est en cours.
> Et chaque appli s'execute dans son propre threadgroup. Mais ceci n'est
> pas utilisable pour la partie Swing (car mono-thread).
> 

J'ai un probl�me similaire, bien que fort �loign�, et pas encore tout 
� fait r�solu.

A partir d'�v�nements issus de topic messages JMS, comment influer 
sur une visu swing ? Chaque message JMS vient d'un thread diff�rent, 
hors avec swing tout est dans un seul thread.

On peut bien s�r dans les cas simples se d�brouiller avec invokeLater 
ou assimil�, mais �a marche pas d�s que �a devient un peu sioux. Il 
ne suffit pas que swing soit dans un seul thread, il faut en plus que 
ta propre partie swing y soit aussi, ce qui t'obligerait � placer des 
synchronized un peu partout, ce qui n'est vraiment pas �l�guant.

Ma solution est de cr�er un nouveau "topic", destin� � choper les 
messages issus de tous les topic que je veux �couter. C'est une sorte 
d'entonoir. Donc j'ai d'un cot� tous mes petits threads qui 
batifolent, et de l'autre la partie vue qui est plus ou moins dans le 
m�me thread. Je trouve �a pas mal, finalement. Cela correspond bien 
aux ph�nom�nes r�els, il me semble.

Pourquoi tiens-tu � rep�rer chaque appli ? Ne pourrais-tu pas laisser 
swing tel qu'il est, et te contenter de rep�rer les parties MC du 
Model Vue Controller ?

--
Sur le Web, tout de suite.
Herve AGNOUX - diaam informatique
http://www.diaam-informatique.com

Répondre à