abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 02:33 | IT novinky

    Canonical oznámil vydání Zephyr 26.04 LTS. Jedná se o komerční distribuci operačního systému pro mikrokontroléry Zephyr (Wikipedie) s podporou až 15 let.

    Ladislav Hagara | Komentářů: 0
    dnes 02:00 | Zajímavý projekt

    Gravity Linux je linuxová distribuce určená pro Apple Silicon s čipy M4 a novějšími. Vydána byla alfa verze pro M4 Mac mini. Gravity Linux je fork Asahi Linuxu.

    Ladislav Hagara | Komentářů: 0
    včera 22:22 | Zajímavý projekt

    Hister je osobní soukromý vyhledávač, který lze provozovat na vlastním stroji. Umí prohledávat lokální soubory, importovat historii a záložky z webových prohlížečů, procházet vybrané weby a pomocí rozšíření pro Firefox a Chrome indexovat obsah právě navštívených stránek. Nad vytvořeným indexem pak nabízí vyhledávání prostřednictvím webového rozhraní, příkazové řádky a díky podpoře MCP i nástrojům umělé inteligence. Tento

    … více »
    AfD 💙 | Komentářů: 0
    včera 13:33 | IT novinky

    Ministerstvo dopravy uznalo prozatímní schválení asistenčního systému Tesla FSD Supervised vydané nizozemským schvalovacím orgánem RDW. Připojilo se tak k Nizozemsku a dalším pěti evropským státům. Systém je díky tomuto rozhodnutí možné používat za podmínek prozatímního schválení také na území České republiky. Tesla FSD Supervised je asistenčním systémem úrovně 2 podle klasifikace SAE (částečná automatizace řízení). Řidič se

    … více »
    Ladislav Hagara | Komentářů: 12
    včera 11:22 | Upozornění

    Někteří zákazníci O2 mohou aktuálně zaznamenat zhoršenou dostupnost internetových služeb. Na odstranění potíží se pracuje [Facebook].

    Ladislav Hagara | Komentářů: 7
    včera 01:22 | Nová verze

    PyPy (Wikipedie), tj. implementace Pythonu v RPythonu, alternativa CPythonu v C, byla vydána v nové major verzi 8.0.0. Podporuje Python 2.7, 3.11 a 3.12.

    Ladislav Hagara | Komentářů: 0
    včera 00:22 | Komunita
    V rakouském Štýrském Hradci probíhá konference vývojářů a uživatelů desktopového prostředí KDE Plasma Akademy 2026. O víkendu proběhly přednášky. Videozáznamy jsou k dispozici na YouTube.
    Ladislav Hagara | Komentářů: 3
    20.9. 23:55 | Bezpečnostní upozornění

    V jádře Linux byly nalezeny a v upstremu ve verzích 5.10.270, 5.15.221, 6.1.188, 6.6.157, 6.12.109, 6.18.50 a 7.2.4 již opraveny 4 kritické zranitelnosti umožňující eskalaci práv: DirtyAH6 (CVE-2026-80844), TUNderflow (CVE-2026-81000), PPPoEject (CVE-2026-68121) a DiagSpill (CVE-2026-74469).

    Ladislav Hagara | Komentářů: 0
    20.9. 23:11 | Zajímavý článek

    Německá policie a celníci zneužívají ke čtení zpráv komunikačních aplikacích WhatsApp, Signal, Telegram nebo Threema velice jednoduchý trik, který nevyžaduje prolomení šifrování, spear phishing, odposlech SMS či jinou technicky náročnou metodu. Příslušníkům státního aparátu pouze stačí získat krátký přístup k odemčenému telefonu a prostřednictvím QR kódu propojit účet s oficiální desktopovou nebo webovou aplikací v policejním

    … více »
    AfD 💙 | Komentářů: 7
    19.9. 02:11 | IT novinky Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (29%)
     (8%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2710 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník

    Dotaz: Java Timer - přerušení a znovuspuštění tasku

    dandyg avatar 2.11.2009 17:18 dandyg | blog: dandyg
    Java Timer - přerušení a znovuspuštění tasku
    Přečteno: 1671×
    Můj problém:

    Mám aplikaci ve Swingu, kde je několik samostatných panelů, do kterých periodicky dodávám data. Data dodávám pomocí observable-observer, což skvěle funguje. Zatím periodické provádění zajišťuji pomocí java.util.Timer a java.util.TimerTask.

    V konstruktoru "aplikační" třídy odděděné od TimerTask vytvářím novou instanci Timer a následně provedu schedule(this,0,delay); neboli spouštím periodické opakování metody run z té samé třídy. To také funguje jak má. Nyní bych ale chtěl periodické provádění přerušit a později opět spustit.

    Pokud ale provedu timer.cancel(); a později se znovu pokusím úlohu naplánovat, logicky a zcela očekávaně to skončí IllegalStateException, přesně podle javadoc. Zkusil jsem tedy před opětovným naplánováním vytvořit novou instanci Timer a naplánovat již nad novým timerem, ale problém stále trvá.

    Nemá někdo s tímto zkušenosti. Popřípadě ocením i jiné možnosti opakování úlohy s možným přerušením a znovuspuštěním.

    Řešení dotazu:


    Odpovědi

    3.11.2009 07:39 moira | skóre: 30 | blog: nesmysly
    Rozbalit Rozbalit vše Re: Java Timer - přerušení a znovuspuštění tasku
    Neměl by se spíše cancellnout TimerTask?
    Překladač ti nikdy neřekne: "budeme kamarádi"
    3.11.2009 12:02 msaft | skóre: 7
    Rozbalit Rozbalit vše Re: Java Timer - přerušení a znovuspuštění tasku
    od boku: ScheduledThreadPoolExecutor(1) a setCorePoolSize(0) pro preruseni?
    Řešení 1× (dandyg (tazatel))
    3.11.2009 20:13 razor | skóre: 33
    Rozbalit Rozbalit vše Re: Java Timer - přerušení a znovuspuštění tasku
    Na to zastavení a opětovné spuštění můžeš zkusit použít místo cancel nějakou proměnnou (atomickou) nebo nějaký zámek. Např.
    
             try {
    
                final Lock locker = new ReentrantLock();
                final ScheduledExecutorService scheduler =
                        Executors.newScheduledThreadPool(1);
                final Runnable beeper = new Runnable() {
    
                    public void run() {
                        locker.lock();
                        System.out.println("some job");
                        locker.unlock();
                    }
                };
    
                final ScheduledFuture jobHandler =
                        scheduler.scheduleWithFixedDelay(beeper, 1, 5, TimeUnit.SECONDS);
                 
                TimeUnit.SECONDS.sleep(6);
                System.out.println("zastavujem");
                locker.lock();
                TimeUnit.SECONDS.sleep(12);
                System.out.println("poustime");
                locker.unlock();
                TimeUnit.SECONDS.sleep(12);
                System.out.println("koncime");
                jobHandler.cancel(false);
                scheduler.shutdown();
    
            } catch (InterruptedException ex) {
                Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
            }
    
    
    
    dandyg avatar 3.11.2009 22:45 dandyg | blog: dandyg
    Rozbalit Rozbalit vše Re: Java Timer - přerušení a znovuspuštění tasku
    To je přesně to, co jsem potřeboval. Díky moc!

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.