キーイベント処理中に時間のかかる処理をすると Canvas.processEvent が呼ばれなくなる

たとえば Canvas の子クラスで processEvent(int,int) を次のような実装をしたとする

public void processEvent(int type, int param){
    System.out.println(“processing…”);
    for(;;){// forever
        try {
            Thread.sleep(1000); // メイン処理。1秒待つのを繰り返すだけ
        } catch( InterruptedException e ) {
            IApplication.getCurrentAPp().terminate(); // 割り込みで終了
        }
    }
    System.out.println(“end of process”);
}

実行結果は一見、キーを押した数だけ processing… とだけ表示されるように思われるが、実際は processing…