Wywołanie funkcji w określonym czasie.
Ostatnio zmodyfikowano 2013-02-19 12:38
hit Temat założony przez niniejszego użytkownika |
Wywołanie funkcji w określonym czasie. » 2013-02-07 22:20:20 Witam,
szukam pomocy, nakierowania w znalezieniu odpowiedzi na to, w jaki sposób mogę wywoływać funkcje w określonym terminie ( data, godzina ). Wiem, że mogę sam sprawdzać aktualną godzinę ale sprawdzanie kilka razy na sekundę lub co sekundę to chyba nie jest najbardziej optymalna opcja? Pozdrawiam i proszę o jakąś podpowiedź. |
|
m4tx |
» 2013-02-07 22:47:17 To może timery? :) |
|
hit Temat założony przez niniejszego użytkownika |
» 2013-02-07 23:38:52 Timery wykonują określoną czynność, po określonym czasie, tak? Więc miałbym obliczyć czas w sekundach, po jakim ma się wywołać i potem go usunąć? Dziękuję za podpowiedź, jutro spróbuję bo już idę spać. : ) |
|
Mrovqa |
» 2013-02-08 21:10:04 Zależy jakiej chcesz dokładności i jak długo będzie trzeba czekać. Możesz raz pobrać aktualną datę oraz godzinę i walnąć sleepa na określony czas. |
|
hit Temat założony przez niniejszego użytkownika |
» 2013-02-09 12:48:52 Dokładność najlepiej co do sekundy, Sleep raczej odpada bo to może być kwestia kilku godzin, lub może nawet dni. Zaraz sobie przetestuję te timery. |
|
Mrovqa |
» 2013-02-09 18:52:34 Tak czy siak będziesz musiał czekać. Możesz używać sleepów na zasadzie: (wiesz, nie idź na łatwiznę i nie myśl, że chodziło mi o jednego wielkiego sleepa ;)) 1. Pobierz datę i godzinę. 2. Jeżeli pozostało >1h to: -- czekaj 3600000ms (1h) -- wróć do pkt 1. W przeciwnym wypadku: -- odczekaj tyle, ile pozostało.
Oczywiście zamiast 1h możesz użyć każdej innej ilości czasu ;) |
|
hit Temat założony przez niniejszego użytkownika |
» 2013-02-19 12:38:39 Witam ponownie.
Mrovqa - nie użyłem Sleep(), ponieważ zatrzymują cały wątek, a tworzenie kolejnych było zbędne dzięki zaproponowanym timerom.
I timery póki co w większości spełniają moje oczekiwania, ale teraz mam inne pytanie, bo nie mogę znaleźć w sieci. Jak ( i czy w ogóle ) można sprawdzić aktualny stan timera, tzn. czy istnieje do tego jakaś funkcja, czy musiałbym wraz z uruchomieniem timera załączać licznik, z którego potem bym sobie to wyliczył? |
|
« 1 » |