Avatar
kebabicc
Člen
Avatar
kebabicc:

Zdar,
měl bych dotaz, jak přesně funguje timer. Od spuštění odpočte daný interval a pak vyvolá daný kod. A teď nastává to, co potřebuji ujasnit. Hned od vyvolání kodu začne odpočítávat další interval, nebo až po jeho vykonání? Při první možnosti by mohlo docházet ke spouštění kodu bez předchozího ukončení (doba zpracování kodu by byla delší než interval) u té druhé ne. Jak to teda je?
Dík předem :)

Editováno 29.12.2014 3:30
 
Odpovědět 29.12.2014 3:30
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na kebabicc
Jan Vargovský:

Né že by to nešlo zjistit samo, ale vzhledem k tomu, že to pouštíš ve stejném vlákně, tak se normálně vykoná kód, který se má spustit v daný interval. Jestli se ten kód stále vykonává, tak s tím nic neuděláš (nespustí se další), ale kód se vykoná a pak jestli už se měl volat další, tak se zase zavolá (a pravděpodobně zase bude trvat přes limit). Takže jestli máš interval např. co sekundu a kód se vykonává vždycky 5 sekund, tak ve výsledku máš timer s intervalem 5 sekund. Pak to můžeš vyřešit tak, že si uděláš vlastní vlákno ve kterém se kód provede.

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
 
Nahoru Odpovědět 29.12.2014 4:53
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na kebabicc
Jan Vargovský:

Kdyby ses v tom chtěl dloubat

http://referencesource.microsoft.com/#System.Windows.Forms/winforms/Managed/System/WinForms/Timer.cs,c33beeed554e6a40
 
Nahoru Odpovědět 29.12.2014 5:01
Avatar
kebabicc
Člen
Avatar
Odpovídá na Jan Vargovský
kebabicc:

Dík, ne že bych se na to nepokoušel přijít, jen jsem se v tom potřeboval ujistit. Podobnému výsledku (rozhodnutí), už sem taky dospěl :)

 
Nahoru Odpovědět 29.12.2014 5:09
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na kebabicc
Jan Vargovský:

Ale zase v .NETu je x počet timerů, takže záleží jaký použiješ.

 
Nahoru Odpovědět 29.12.2014 6:46
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.