Bylo vydáno Eclipse IDE 2026-06 aneb Eclipse 4.40. Představení novinek tohoto integrovaného vývojového prostředí také na YouTube.
Asterinas (GitHub) je v Rustu napsané jádro operačního systému poskytující s jádrem Linux kompatibilní ABI. Vydána byla verze 0.18.0. První distribucí postavenou nad jádrem Asterinas je Asterinas NixOS. Nejedná se o oficiální projekt NixOS a nemá nic společného s NixOS Foundation.
Podrobně byla rozebrána kritická zranitelnost v nf_tables (CVE-2026-23111). Další lokální eskalace práv na Linuxu. V upstreamu byla zranitelnost již v únoru opravena. Ve zdrojovém kódu stačilo odstranit 1 vykřičník.
Evropská komise (EK) nařídila americké společnosti Meta, že musí znovu umožnit bezplatný přístup konkurenčním obecně zaměřeným asistentům umělé inteligence (AI) k WhatsAppu a tento přístup musí zachovat až do ukončení antimonopolního šetření. Opatření je dočasné a má zabránit vážnému a nevratnému poškození konkurence na rychle rostoucím trhu s obecnými AI asistenty. Meta uvedla, že se proti rozhodnutí odvolá.
Společnost Anthropic představila AI modely Claude Fable 5 a Claude Mythos 5. Claude Fable 5 je první model třídy Mythos určený pro běžné použití.
Byla vydána nová stabilní verze 3.24.0, tj. první z nové řady 3.24, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Přehled novinek v poznámkách k vydání.
Na čem pracují vývojáři v Rustu napsaného mikrokernelového unixového operačního systému Redox OS (Wikipedie)? Byl publikován přehled vývoje za květen. Vypíchnout lze nový scheduler EEVDF nebo port desktopového prostředí Xfce na Redox OS.
Upozornění pro uživatele Asahi Linuxu: Neaktualizujte macOS na verzi 27 Golden Gate! Apple změnil detekci spouštěcích oddílů. Po aktualizaci oddíl s Asahi Linuxem nevidí. Snad je to jenom chyba.
Na webu konference Den IPv6, která se konala 4. června v Národní technické knihovně v pražských Dejvicích, jsou nyní k dispozici všechny prezentace (v PDF) a jejich videozáznamy. Organizátory konference byly i letos sdružení CESNET, CZ.NIC a NIX.CZ.
Byla vydána nová verze 9.1.0 správce sbírky fotografií digiKam (Wikipedie). Přehled novinek i s náhledy v oficiálním oznámení (NEWS). Vypíchnout lze vylepšené vyhledávání nebo podporu Pixel Motion Photos. Nejnovější digiKam je ke stažení také jako balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo ke spuštění a spustit.
Vynecham jak snadne je spustit thread, pouziti slova synchronized a rovnou skocim na "lahudky". Swing
Problem swingu (GUI toolkitu v Jave) je ze je jednovlaknovy. K prostredkum se muze pristupovat pouze z jednoho thread (AWT event dispath thread). Pokud se v tomhle vlakne dela delsi operace, GUI se nemuze prekreslovat a "zamrzne", je to spolecny problem i C++ aplikaci.
Skvela je knihovna Foxtrot ktera umoznuje "odskocit" si do sousedniho threadu. Pritom pocka nez se uloha dokonci a neblokuje GUI thread. GUI se tedy normalne prekresluje. Skvele je jak snadne je tohle "odskoceni".
Priklad:
{
//nacti URL v GUI thread
URL url = new URL(text.getText());
//stahni data bez blokace GUI
String data = (String) Worker.post(new Job(){
public Object run(){
return URL.stahniData()
}
}
//a zobraz data
page.setData(data)
}
Podobne funguje napriklad SwingWorker
A totalne "cool" je Spin ktery obali objekt proxy, ktera se stara o thrading sama.
Concurrent utils
Od jre 1.5 je mozne pouzivat knihovnu obsahujici locky, queue, semafory, executory... Vice v java docu
Literatura
Velmi dobre jsou dve knizky. Obe jdou stahnout z netu...: Tahle probira zaklady multithreadingu a utility v jave, dobre pro zacatecniky,
Java Concurrency in Practice By Brian Goetz, Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes, Doug Lea Publisher: Addison Wesley Professional Pub Date: May 09, 2006 Print ISBN-10: 0-321-34960-1 Print ISBN-13: 978-0-321-34960-6 Pages: 384
A tato dava teoreticko/prakticke znalosti. V Java komunite je to best seller
Concurrency: State Models & Java Programs, 2nd Edition byJeff MageeandJeff Kramer John Wiley & Sons 2006 (432 pages) ISBN:0470093552
Tiskni
Sdílej:
). Tedy ne že bych nesouhlasil, že je to prasárna. Osobně si myslím, že tenhle problém může krásně řešit návrh lexikálních uzávěrů pro Javu 7 od Neala Gaftera a spol.
To se dá bez problémů řešit jedním zámkemTeoreticky jistě, ostatně jak už jsem psal, jiné GUI systémy nepoužívají systém vlákna určeného ke zpracování událostí, ale události zpracovává kterékoli vlákno. Ale v AWT/Swingu je k tomu určené vlákno (vlákna), a zavést do toho nějaký zámek by znamenalo, že musí všichni začít ten zámek používat. Což můžu udělat třeba ve svém kódu, ale těžko budu takovému zámku přizpůsobovat knihovny třetích stran nebo dokonce runtime knihovnu. Dokumentace k AWT vláknům začíná větou: „Unless otherwise noted all AWT listeners are notified on the event dispatch thread.“ Takže cokoliv, co tenhle předpoklad naruší, má dobře našlápnuto k tomu, aby to někde něco rozbilo.
Java ma oproti C++ vyhodu je ze je od zacatku navrzena jako vicevlaknova. Vedet zda objekt je immutable a thread safe je k nezaplanaceni.Když dám v C++
const, tak je objekt taky immutable.
Problem swingu (GUI toolkitu v Jave) je ze je jednovlaknovy. K prostredkum se muze pristupovat pouze z jednoho thread (AWT event dispath thread).To není problém, to je vlastnost. Má totiž tu zásadní výhodu, že se nemusí používat synchronizace a nevzniká tedy ani s ní spojená režie, která by byla mnohdy úplně zbytečná. Kdo chce pracovat se Swingem ve více vláknech, může buď použít nějakou nadstavbu nebo si to udělat přímo podle potřeby (tj. sahat do GUI přes
invokeLater(), invokeAndWait() a podobně).
Problem swingu (GUI toolkitu v Jave) je ze je jednovlaknovy. K prostredkum se muze pristupovat pouze z jednoho thread (AWT event dispath thread).Tohle není tak docela pravda. Se Swingem (resp. AWT) by se mělo manipulovat pouze z vlákna AWT, to ano, ale to vlákno nemusí být jen jedno, může jich být víc.
to vlákno nemusí být jen jedno, může jich být víc.Aktivnich v jednom okamziku? Poslal bys prosim nejaky odkaz? Nechci polemizovat, jen se divim. Dost metod jak ve Swingu tak v AWT zamyka AWT tree lock. Pristup z vice vlaken si primo rika o deadlock s nejakym uzivatelovym zamkem. Nebo mas na mysli nahrazeni
EventQueue jinou pres metody push() a pop()?
isDispatchThread() vrací true právě jen v případě, že se jedná o to aktivní vlákno na vrchu zásobníku. Ale stejně to znamená, že by člověk měl vždy pracovat s metodami z EventQueue a ne se pokoušet jednou na začátku si EventQueue vlákno zapamatovat a pak už pracovat vždy s ním. A taky to znamená, že je nesmysl pokoušet se zpracovávat události ve vlastním vlákně, abych mohl zablokovat vlákno událostí. EventQueue už má tenhle mechanizmus zabudován v sobě a pokud už bych opravdu chtěl déletrvající zpracování události provádět ve vlákně událostí, je rozumnější před vlastním zpracováním vytvořit nové vlákno fronty zpráv, dát ho na vrchol zásobníku, pak si v původním vlákně můžu dělat co chci a když skončím, nově vytvořené vlákno zase odstraním.
EventQueue.