У меня есть поток MouseListener, где этот метод вызывается каждый раз, когда происходит щелчок:
public void mousePressed(MouseEvent event){
//my Logic here
}
Теперь происходит то, что за короткое время происходит так много щелчков, в то время как моя логика требует большевремя обрабатывать.То, что я ожидал, - то, что дальнейшие щелчки будут отброшены, и этот метод продолжится на последних наступающих щелчках.
Но происходит то, что во время обработки логики входящие клики ставятся в очередь, и даже когда щелчок останавливается, кликовые запросы продолжают вызывать этот метод mousePressed, в результате чего я выполняю несколько отложенных исполнений.
К сожалению, у меня нет контроля над Слушателем (почему он задает вопрос и продолжает посылать отложенные клики), поэтому в таком сценарии вы можете сказать мне, каков эффективный способ обработки, чтобы я не делалQue из-за задержки в моей обработке.
Я думаю, что наиболее очевидным способом было бы использование другого потока, но мне интересно, что это может вызвать так много потоков за короткое время, или есть ли способ, которым я могу заблокировать только один поток, в то время как остальные клики просто идутчерез пустой цикл?