| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > Возвращаемы данные от Демона |
| Автор: barin_Student 11.4.2008, 09:26 | ||||
| Собственно вопрос , есть ли какая возможность перестать брать данные у демона , если он их не дает. Вот такая вещь:
а вот в другом классе я одемонизирую процесс , и попрошу статус у Beskonechny()
вот вопрос , как спросить этот статус , и через какое то время неответа проскочить эту байду. Да только без дополнительных методов в demon getStatus() и тд , возможно ли это ище какими то инструментами это решить. |
| Автор: LSD 11.4.2008, 12:57 | ||
Как-то так:
|
| Автор: barin_Student 11.4.2008, 13:20 |
| Я так понял , что в этом примере , мы ждем поток на ответ в течение секунды(а поток дает результат только через минуту) , после ожидания секунды.... Вопщем чего то я не понял , сорри что с такими просьбами обращаюсь , а если на моем примере добавить код (незнаю какой) чтоб ждал скажем 5 секунд , и посе неответа проходил (основной поток) дальше, не останавливался навсегда?... |
| Автор: LSD 11.4.2008, 13:37 | ||
Основной метод тут это getResult(), ему передается таймаут в течении которого нужно ждать результат. Когда вызывается этот метод он захватывает блокировку на LOCK и проверяет не готов ли результат. Если рузультат готов, то он его просто возвращает, иначе засыпает на указанный таймаут. После пробуждения снова проверяет не готов ли результат и возвращает его или выбрасывает ошибку. Метод run() просто симулирует долгое создание объекта. Главное в нем это:
после того как объект был создан. |
| Автор: barin_Student 11.4.2008, 13:52 |
| Ок спасибо , теперь ясно, после выходных разберусь. а счас просто поигрась с этим кодом, и тема пускай пока открыта , а к выходным я ее закрою. Спасибо вам LSD. |
| Автор: barin_Student 14.4.2008, 07:26 |
| Балин , с вашим кодом разобрался, все ясно и понятно... Но к своему коду прикрутить не получается , кто может хотябы прикрутить к моему примеру, в вот этот Лок до конца не понял... Буду благодарен если я вижу в привычном мне виде. |
| Автор: LSD 14.4.2008, 11:02 | ||
Чего там прикручивать, просто возьми и используй. Замени:
на свой код создания объектов и все. При желании можешь переименовать методы. |
| Автор: barin_Student 14.4.2008, 11:32 | ||||
и вот куда маньячить этот Object и тому подобное? ведь я вправду не знаю. |
| Автор: barin_Student 14.4.2008, 13:53 |
| И неужели никто кроме LCD с этим не сталкивался , и не может переделать мой пример под пример LCD |