Witamy na forum PC Format Zapraszamy do REJESTRACJI


Użytkownicy przeglądający ten wątek: 1 gości

[Java] Poszukuję dobrego rozwiązania które wyłączy pętlę po danym okresie czasu.

#1
[Java] Poszukuję dobrego rozwiązania które wyłączy pętlę po danym okresie czasu.
Cześć!

Mam pytanie do programistów Java - czy znacie jakiś wygodny i "elegancki" a więc pozbawiony zbędnego kodu sposób na wyłączenie pętli po danym czasie? Powiedzmy że mam pętlę while która wyświetla pewien tekst. Warunkiem jest to czy wątek żyje czy nie ale sama pętla ma zostać przerwana wcześniej (np. po 10 sekundach). Macie jakiś pomysł na proste rozwiązanie? Mógłbym bawić się z nanoTime() ale to raczej nie jest zbyt wygodne. Mogę też ustawić jakiś wątek, uśpić go na 10 sekund i kiedy się obudzi wyłączyć pętlę ale nie brzmi to zbyt ciekawie.

Znacie jakieś sposoby na rozwiązanie takiego problemu? W C# miałem klasę stopwatch która robiła dokładnie coś takiego, Java nie dysponuje takim rozwiązaniem ale podobno Apache oferował paczkę z taką klasą. Może wiecie coś na ten temat?

Dobra, chyba nie ważne - znalazłem klasę Timer.

Obecnie program działa tak (pseudokod)
Kod:
boolean znacznik = false;

metoda_glowna(){
Timer timer = new Timer();
timer.schedule(new TimerTask(){ public void run(){ znacznik = true}}, 5000L);

while(znaczik == false){
jakies_tam_polecenia;
}

}

Nie sądzę by dało się to załatwić lepiej ale mogę się mylić.
Pomagam zwiększyć widoczność w sieci. Wesoły

Każdy dzień bez forum to dzień stracony.
 System operacyjny: linux_ubuntu Przeglądarka: chrome
#2
RE: [Java] Poszukuję dobrego rozwiązania które wyłączy pętlę po danym okresie czasu.
Hmm, patrze się na klasę stopwatch i nic ciekawego w niej nie widzę. Jedyne zastosowanie w jakim jest używana, to obliczanie czasu między wykonaniem metod start i stop. Czy nie możesz zrobić tego samego w javie lub po prostu liczyć czas między startem i bieżącym czasem (Calendar.getInstance().getTimeInMillis())? Albo czegoś nie widzę/nie wiem, albo taką klasę można naskrobać w kilka minut.
 System operacyjny: windows_seven Przeglądarka: firefox
#3
RE: [Java] Poszukuję dobrego rozwiązania które wyłączy pętlę po danym okresie czasu.
Oczywiście, że można - napisałem ją w 10 minut.

Do tego jest timer który powiedzmy, że robi to czego potrzebuję. Chodziło mi bardziej o sam fakt, że nie bardzo miałem ochotę pisać własną klasę do czegoś co być może było wbudowane w Javę. Program w którym ma to funkcjonować zwyczajnie jest mniejszy niż sama klasa którą musiałem dopisać.
Pomagam zwiększyć widoczność w sieci. Wesoły

Każdy dzień bez forum to dzień stracony.
 System operacyjny: linux_ubuntu Przeglądarka: firefox
#4
RE: [Java] Poszukuję dobrego rozwiązania które wyłączy pętlę po danym okresie czasu.
Kiedyś w Javie była taka zasada, by klasy w standardzie nie tworzyły niepotrzebnego kodu i nie zaśmiecały API kolejnymi pomocnikami. Z jednej strony powoduje to nieco więcej pracy dla programisty, z drugiej łatwiej ją opanować. Oczywiście, niektóre procesy były dosyć żmudne i uciążliwe, więc je uproszczono (np. obsługa plików).
 System operacyjny: windows_seven Przeglądarka: firefox
Programy: Polecane / Nowe / Inne



Użytkownicy forum szukali:
java czaswylaczanie petli po pewnym czasie c++

Podobne wątki ([Java] Poszukuję dobrego rozwiązania które wyłączy pętlę po danym okresie czasu.)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  [JavaScript] Znajdowanie przedziału czasu rafal12999 0 834 10.12.2019, 17:58
Ostatni post: rafal12999
  [Java] Strona z zadaniami do rozwiązania i odpowiedziami rafal12999 2 8810 27.01.2019, 13:44
Ostatni post: rafal12999
  [SQL]procedura zliczania czasu CTRL85 0 10041 17.02.2018, 12:58
Ostatni post: CTRL85

Skocz do:


Wybrane wątki ([Java] Poszukuję dobrego rozwiązania które wyłączy pętlę po danym okresie czasu.)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Spring framework – jakie strony polecacie do nauki? olek23 5 4040 15.11.2019 15:57
Ostatni post: Alsenas
  Programowanie windy (problem) w C++ mysza2323 2 2808 06.11.2019 23:04
Ostatni post: mysza2323
  Programy w C ~Anonim 1 3211 22.10.2019 17:48
Ostatni post: Szachista
  Książki do nauki C# olek23 14 11840 17.10.2019 13:06
Ostatni post: Ajgor
  Wyświetlanie informacji z bazy danych na stronie www PitPlay 1 4355 16.09.2019 11:18
Ostatni post: Ajgor
  Błąd przy uruchamianiu programu w Java z wiersza poleceń Physicist 3 2896 30.08.2019 14:16
Ostatni post: Physicist
  Python z wiersza poleceń Physicist 15 13702 21.08.2019 20:14
Ostatni post: Physicist
  Transfer plików via FTP Visual Basic FireBytes 3 5970 15.08.2019 07:41
Ostatni post: Szachista
  Menu wysuwane z boku patryk67 1 5012 07.08.2019 12:43
Ostatni post: aht
  Visual Basic Excel l.całkowitą przedstawić w postaci szesnastkowej fugaz 4 6796 18.06.2019 21:36
Ostatni post: fugaz
  Nauka do Olimpiady Informatycznej? piotr0905 1 6545 08.06.2019 16:50
Ostatni post: wlisik
Ściana Prosta gra w Builder C++ Kiranek1 1 6465 31.05.2019 15:20
Ostatni post: Szachista
  Menu (Nie widoczne długie opisy) wanhelsing 5 8537 28.04.2019 19:31
Ostatni post: koneton
  Skrypt usuwający pliki sylwiaa1 2 3851 28.04.2019 15:20
Ostatni post: sylwiaa1
  Środowisko do assemblera Physicist 4 8074 21.04.2019 14:04
Ostatni post: Ajgor