Le sommeil d'un thread jusqu'à ce qu'un événement est assisté, dans un autre thread à partir d'une autre classe

J'ai une application qui tire des 2 threads, le 1er lance une autre classe pour faire une partie de la transformation qui à son tour lance un 3ème classe pour faire encore plus de traitement. Le 2ème fil dans la classe principale doit attendre jusqu'à ce qu'un événement dans la 3e classe se termine avant qu'il effectue son travail. Comment cela peut-il être atteint?

J'avais essayé de mettre en œuvre un wait/notify pour partager un verrou d'objet entre les deux fils, mais, techniquement, cela ne fonctionne pas comme je l'ai découvert à la dure. Puis-je partager un verrou entre les classes? Remarque, une instance de la 3e classe est déclarée dans la 1ère classe et transmis en tant que paramètre à la 2e classe. Aussi j'ai essayé de créer une valeur booléenne en 3e classe qui indique lorsque l'événement est terminé interroger 2ème fil jusqu'à cette valeur est true. Cela a fonctionné, mais n'est pas très souhaitable. Aussi est actionListner une meilleure approche de ce problème?

  • Quand vous dites de 2e et 3e catégories, pensez-vous vraiment dire 2ème fil et 3ème fil?
  • De 2e classe est effectué en 1ère fil, mais qui lance une troisième classe qui peut ou ne peut pas lancer d'autres threads.
InformationsquelleAutor Afro Genius | 2010-05-08