Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Таймаут при выполнении метода (цикла) / 6 сообщений из 6, страница 1 из 1
05.05.2014, 13:41
    #38633195
Azag-Thoth
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Таймаут при выполнении метода (цикла)
Здравствуйте, вопрос надеюсь из элементарных.
Каким образом можно приостановить выполнение цикла скажем на секунду?
У потоков есть метод sleep()
Но если речь не о потоке, а о методе в любом из стандартных классов?
Код в java:
Код: java
1.
2.
3.
4.
while(true){//бесконечный цикл
    sleep(1000);//только нужен не слип, а какая-то иная команда
    ....//300 строк кода для генерации файла
}


PS: Для чего мне это нужно? Хочу написать маленькую функцию которая создаёт текстовый документ, и обновляет его каждую секунды новыми значениями из базы данных. Например это может быть чат или не чат, что угодно. Знаю что так не делают обычно, но если в php генерирую файл, то даже при двух-трёх соединениях сайт сильно провисает.
...
Рейтинг: 0 / 0
05.05.2014, 13:56
    #38633220
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Таймаут при выполнении метода (цикла)
Azag-ThothЗдравствуйте, вопрос надеюсь из элементарных.
Для новичка - нет.
Azag-ThothКаким образом можно приостановить выполнение цикла скажем на секунду?
У потоков есть метод sleep()
Но если речь не о потоке, а о методе в любом из стандартных классов?

По-хорошему никак:
http://docs.oracle.com/javase/7/docs/technotes/guides/concurrency/threadPrimitiveDeprecation.html
По-плохому может и не заработать.

Azag-ThothКод в java:
Код: java
1.
2.
3.
4.
while(true){//бесконечный цикл
    sleep(1000);//только нужен не слип, а какая-то иная команда
    ....//300 строк кода для генерации файла
}



Что-то вы путаетесь. Лучше бы объяснили проблему, а не своё видение решения.


Azag-ThothPS: Для чего мне это нужно? Хочу написать маленькую функцию которая создаёт текстовый документ, и обновляет его каждую секунды новыми значениями из базы данных. Например это может быть чат или не чат, что угодно. Знаю что так не делают обычно
Да, постоянно делают. Проблемы не вижу

Azag-Thothно если в php генерирую файл, то даже при двух-трёх соединениях сайт сильно провисает.
При чем здесь PHP? И как это вся связано с остановкой потока?
...
Рейтинг: 0 / 0
05.05.2014, 14:08
    #38633244
Azag-Thoth
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Таймаут при выполнении метода (цикла)
Blazkowicz,

С потоками у меня всё работает, там уже делал слипом в другом проекте. Хотел узнать как делают когда это не поток. Переписать код под поток проблемы не вижу. Если это и есть решение, то ладно :) Спасибо за помощь.
...
Рейтинг: 0 / 0
05.05.2014, 14:16
    #38633252
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Таймаут при выполнении метода (цикла)
Azag-ThothС потоками у меня всё работает, там уже делал слипом в другом проекте. Хотел узнать как делают когда это не поток. Переписать код под поток проблемы не вижу. Если это и есть решение, то ладно :) Спасибо за помощь.
У вас какое-то концептуальное непонимание потоков. Код не работает "без потока". Любой код работает в каком-то потоке.
...
Рейтинг: 0 / 0
05.05.2014, 14:41
    #38633288
Azag-Thoth
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Таймаут при выполнении метода (цикла)
Blazkowicz,

Спасибо, так понятнее. У меня как раз возникали сомнения на счёт этого. Имел в виду классы которые расширяют класс поток и запускаются на исполнение методом ран.
Что-то типа этого:
Код: java
1.
2.
3.
public class MyThread extends Thread {
...
}


С подобными классами проблем пока не имел. Если же как Вы говорите все классы работают в потоках, тогда дело упрощается. Решение выложу.
...
Рейтинг: 0 / 0
05.05.2014, 15:25
    #38633362
Azag-Thoth
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Таймаут при выполнении метода (цикла)
Решение:
Код: java
1.
2.
3.
4.
5.
6.
while(true){
   try {
      Thread.sleep(1000);
   } catch (InterruptedException e) {}
   //разный код
} 
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Таймаут при выполнении метода (цикла) / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]