| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: GUI и Java FX приложения > About Swing Thtreads |
| Автор: Nodir 22.7.2006, 13:46 | ||
Zdrastvuyte, izvenayus chto pishu ne russkim shriftom, potomushto seychas u moyom comp`e netu ix. Est vopros. GUI Swing prilojenie, est dve button`a "Start" "Stop". Po najatie Start`a zapuskaetsa perviy potok i uvelichivaet odnu peremennuyu. A po najatie Stop`a perviy Thread doljen zavershitsya, i vtoroy potok doljen brat znachenie uvelichennova peremennova. Esli est vremya kompiliruyte eto i posmotrite.
|
| Автор: LSD 22.7.2006, 15:39 |
| 1. Строки сравниваются equals(), а не ==. 2. Если нажата кнопка Start, то ты запускаешь новый поток и выполняешь в нем write() (он и начинает писать в консоль). А если нажата кнопка Stop, то ты запускаешь новый поток и выполняешь в нем stoping(), но это влияет только на этот поток. Он успешно завершает свою работу так ее и не начав. К тому же ты никак не передаешь результат из первого потока во второй. Тебе надо при нажатии Stop сказать для первого потока stoping() и дождаться когда он остановится (Thread.join()). Затем получить результат вычислений первого потока, создать второй, передав ему результат работы первого, и запустить второй поток. |
| Автор: Nodir 23.7.2006, 06:22 |
| Во время работы первого потока как я могу вызвать для него stopping(). И какую роль играет здесь Thread.join(), подробнее pls, я не профессионал. Если можно |
| Автор: Nodir 23.7.2006, 22:56 | ||
| Если правильно понял то должен получится вот так, но не тот... Где ошибка?... Вот изменение.
|
| Автор: powerOn 23.7.2006, 23:26 | ||||
Посмотри вот этот код:
Имеется фрейм, на нем 2 кнопки. Нажатие первой кнопки создаст поток 1 (его класс MyThread1). Первый поток просто увеличивает свой внутренний счетчик и все. Нажатие на кнопку 2 приведет к созданию второго потока, который желает получить значение счетчика первого потока. Для того что бы это сделать он останавливает первый поток и ждет его завершения, послечего получает значения счетчика. Вот код остановки и ожидания завершения первого потока (он в методе run() класса MyThread2):
|
| Автор: Nodir 24.7.2006, 19:14 |
| Большое спасибо! |