Je druhé úterý v říjnu a tedy všem čtenářkám AbcLinuxu vše nejlepší k dnešnímu Dni Ady Lovelace (Ada Lovelace Day), tj. oslavy žen zabývajících se přírodními vědami, technologiemi, inženýrstvím a matematikou (STEM).
Byla vydána nová verze 2.47.0 distribuovaného systému správy verzí Git. Přispělo 83 vývojářů, z toho 28 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání.
Bylo vydáno OpenBSD 7.6. Opět bez písničky.
Programovací jazyk Python byl vydán v nové major verzi 3.13.0. Podrobný přehled novinek v changelogu.
Lze získat roota pouze se zapalovačem? Ano, lze.
Konference LinuxDays 2024 proběhne již tento víkend 12. a 13. října v Praze. Na programu je spousta zajímavých přednášek a workshopů, zástup zajímavých osobností a stánky řady projektů: Fedora, openSUSE, vpsFree.cz, Mozilla, brmlab, OpenAlt a mnoho dalších. Vstup zdarma.
Představeny byly oficiální Raspberry Pi microSD karty třídy A2 a silikonový kryt na Raspberry Pi 5.
OpenRazer byl vydán ve verzi 3.9.0. Jedná se o svobodný software, ovladač a démon, umožňující nastavovat klávesnice, notebooky, myši, podložky pod myš, keypady, sluchátka a další zařízení od společnosti Razer na GNU/Linuxu.
Byla vydána verze 3.6 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Přehled novinek v poznámkách k vydání. Využíván je Free Pascal Compiler (FPC) 3.2.2.
Na čem aktuálně pracují vývojáři GNOME a KDE? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE.
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:
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); }
Tiskni Sdílej: