Мне надо включать и выключать некоторый процесс перерисовки.
Но что-то я не пойму, как мне пользоваться Timer и TimerTask. Система усиленно "сопротивляется".
Во-первых, нет возможность остановить таймер, а потом заново его запустить. Ругается.
Ладно, я сделал так, чтобы Timer создавался каждый раз новый.
Но всё равно!
Я делаю класс Operator extends TimerTask, который и должен у меня то запускаться, то останавливаться. Но, похоже, и сам объект TimerTask тоже "портится" и не даёт запустить себя ещё раз даже со вторым таймером.
Почему такая фигня и как с этим бороться?
Здравствуйте, dims12, Вы писали:
D>Мне надо включать и выключать некоторый процесс перерисовки.
D>Почему такая фигня и как с этим бороться?
Timer и TimerTask это примитивы нижнего уровня (типа wait/notify). Более продвинутые возможности либо нужно писать самому либо брать готовое.
Если самому писать:
Sun: In progress, request for enhancementздесь Там же приведен код для stop/resume
Еще неплохая идея работы с таймерами когда периодичность запуска регулируется "итератором"
здесь
Из готовых (хотя в твоей задаче это конечно оверкилл)
Quartz