J'ai un problème avec ThreadPoolExecutor. Cela fonctionne bien pendant des heures, mais parfois (à un moment aléatoire, parfois après 2 minutes ou 3 heures) il cesse d'exécuter les tâches soumises et le programme se bloque.Java ThreadPoolExecutor cesse de fonctionner après un certain temps
La file d'attente est pleine et tous les corithreads sont actifs à ce moment. Je ne sais tout simplement pas d'où cela vient. Surtout parce que ça marche parfois pendant 3 heures alors que tous les corethreads travaillent tout le temps.
S'il y a quelqu'un qui a une suggestion pour moi, je serais très heureux.
C'est une impasse. Alors quel code est partagé entre les threads? redneck debugging: Essayez d'exécuter votre application en mode débogage et attendez qu'elle se verrouille, connectez-vous avec un débogueur et suspendez jvm, vous pouvez alors voir à quel point tous vos threads sont. –
Si vous suspectez un blocage, videz la trace de la pile de tous les threads. Sur Windows, cela se fait en appuyant sur Control-Break. Regardez pour voir ce que les threads ont synchronisé et ce qu'ils attendent. –
Pas nécessairement un blocage. – erickson