我是初学者,我的任务是制作两个客户的基本聊天应用程序和一个交换字符串的服务器,这些字符串是目标+消息。
我已经编写了一些代码,但是当我使用它时,我会在另一端获得这个“带有所有者方法的长监视器争用事件”。
任何人都可以帮我解决这个问题吗?或者,任何人都可以告诉我一般的原因吗?
答案 0 :(得分:22)
这是由一个线程长时间持有监视器/互斥锁并阻塞其他线程引起的。在这种情况下,"很长一段时间"是100毫秒或更长。 (This pull request是添加此项检查的位置。)
这是一个警告......但是建议您查看它,因为它可能会导致您的应用程序无响应。
通常,治愈方法是缩短应用程序持有互斥锁所需的时间。但是,如果没有看到你的代码,就很难建议你如何做到这一点。