Ce qui pourrait être la cause de “moniteur de contention de l'événement avec le propriétaire méthode”?
Je suis un débutant et j'ai une cession de faire une base en application de chat de deux clients et un serveur d'échange de cordes, qui sont de destination+message.
J'ai écrit un code, mais quand je l'utilise je reçois ce "long moniteur de contention de l'événement avec le propriétaire de la méthode" à l'autre extrémité.
Quelqu'un peut m'aider avec la façon dont cela peut se produire? Ou quelqu'un peut me dire la cause de ce en général?
Hi - cette question m'est venue à l'examen de la file d'attente pour essayer d'améliorer son obligation de rendre compte. Vous avez besoin d'ajouter plus de détails à faire de cette question d'une manière plus utile et plus facile à répondre. En particulier, Minimes, complète et vérifiable exemple (http://stackoverflow.com/help/mcve) serait d'une grande aide ici. Vous découvrirez peut-être qu'en faisant un tel exemple (réduction de votre code afin de le rendre minimum), vous révéler la réponse par vous-même.
Comme pour mon autre commentaire que vous avez vraiment besoin d'ajouter quelques informations pour faire de cette question vraiment utile et capable de répondre en totalité. J'ai essayé de vous diriger dans la bonne direction, je l'espère, vous pouvez ajouter un peu de code où j'ai mis "j'ai écrit un code". Sinon, vous n'obtiendrez que les réponses génériques pointant vers vous afin de savoir pourquoi cette erreur est renvoyée. Jetez un oeil à Comment demander en plus de la MCVE lien. Bonne Chance!
Comme pour mon autre commentaire que vous avez vraiment besoin d'ajouter quelques informations pour faire de cette question vraiment utile et capable de répondre en totalité. J'ai essayé de vous diriger dans la bonne direction, je l'espère, vous pouvez ajouter un peu de code où j'ai mis "j'ai écrit un code". Sinon, vous n'obtiendrez que les réponses génériques pointant vers vous afin de savoir pourquoi cette erreur est renvoyée. Jetez un oeil à Comment demander en plus de la MCVE lien. Bonne Chance!
OriginalL'auteur Ahmed Samy | 2015-03-16
Vous devez vous connecter pour publier un commentaire.
Elle est causée par un thread la tenue d'un moniteur /mutex pour une longue période de temps, et de bloquer les autres threads. Dans ce cas, "un long moment" est de 100 millisecondes ou plus. (Ce pull request est où ce chèque a été ajouté.)
C'est un avertissement ... mais vous serait conseillé de le regarder car il est susceptible de conduire votre demande ne répond pas.
En général, le traitement est de réduire la durée du temps de votre demande doit contenir les mutex. Mais, sans voir votre code, il est difficile de vous conseiller sur la façon de le faire.
Par exemple
synchronized(lock){/* thread is holding monitor on lock */}
OriginalL'auteur Stephen C