Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Остановка процесса


Автор: this 23.12.2005, 02:26
Подскажите пожалуйста, как приостановить выполнение потока? То есть открывается JInternalFrame и надо пока он не закроется пристановить выполнение вызвавшего его потока(то есть сделать что-то наподобие JOptionPane).

Автор: Beard 23.12.2005, 03:14
А посмотреть, что происходит при вызове JOptionPane слабо?
Там же написано:

Код

        JInternalFrame   dialog = pane.createInternalFrame(parentComponent, title);    pane.selectInitialValue();
        dialog.setVisible(true);
        dialog.startModal();//Это, наверное!?


Автор: Guest 23.12.2005, 13:25
Цитата(Beard @ 23.12.2005, 03:14)
А посмотреть, что происходит при вызове JOptionPane слабо?
Там же написано:

Код

        JInternalFrame   dialog = pane.createInternalFrame(parentComponent, title);    pane.selectInitialValue();
        dialog.setVisible(true);
        dialog.startModal();//Это, наверное!?

Если бы было так легко, то я бы не спрашивал! Мне нужно именно без использования JOptionPane. Просто приостановить текущий поток.

Автор: LSD 23.12.2005, 14:04
Цитата(Guest @ 23.12.2005, 13:25)
Если бы было так легко, то я бы не спрашивал! Мне нужно именно без использования JOptionPane. Просто приостановить текущий поток.

Тогда идем в http://vingrad.ru/JAVA-JAVA-000102 и читаем про многопоточное программирование.

Автор: Guest 23.12.2005, 16:10
Цитата
Тогда идем в FAQ и читаем про многопоточное программирование.

Это все не то. Может можно как- нить через join() сделать?

Автор: AntonSaburov 23.12.2005, 16:23
Ну сделать вызов wait перед открытием. а после закрытия (на Close) сделать notify.

Автор: Guest 23.12.2005, 16:38
Цитата(AntonSaburov @ 23.12.2005, 16:23)
Ну сделать вызов wait перед открытием. а после закрытия (на Close) сделать notify.

Пишет:
Код

java.lang.IllegalMonitorStateException: current thread not owner

Автор: LSD 23.12.2005, 17:19
Цитата(Guest @ 23.12.2005, 16:38)
Цитата(AntonSaburov @ 23.12.2005, 16:23)
Ну сделать вызов wait перед открытием. а после закрытия (на Close) сделать notify.

Пишет:
Код

java.lang.IllegalMonitorStateException: current thread not owner

Именно о том как правильно вызывать wait(), notify() и notifyAll() и говориться в 4 пункте того FAQ что я тебе привел, ты его читал вообще?
Добавлено @ 17:20
И про deadlock-и там тоже говориться.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)