Я пытаюсь прекратить ЮНА вызов WaitForSignleObject()
с Timer
, который прерывает текущий поток:таймер Java не работает при использовании ЮНА вызов Win32 WaitForSingleObject()
final Thread thread = Thread.currentThread();
Timer timer = new Timer();
timer.schedule(new TimerTask() {
public void run() {
thread.interrupt();
}
}, 3000);
try {
Kernel32.INSTANCE.WaitForSingleObject(processInfo.hProcess, Kernel32.INFINITE);
...
} catch (InterruptedException e) {
}
Проблема заключается в том, что TimerTask.run()
является не вызывается через 3 секунды, как и ожидалось, вызывается только после того, как WaitForSingleObject()
выходит из себя. Что я делаю не так?
Спасибо!
Вы уверены, что 'run()' не вызывается, или просто 'InterruptedException' не выбрасывает? – axtavt
Да, я проверил, что с точкой останова put in run() – spektom
Это довольно странно, вы пытались проверить его другими способами? – axtavt