Byla vydána nová verze 15.1 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.
Vývojáři Ubuntu představili projekt Myna, tj. iniciativu zaměřenou na přidání funkce převodu řeči na text do prostředí desktopu Ubuntu. Dle plánu již v Ubuntu 26.10.
Společnost Epic Games představila nový open source systém pro správu verzí Lore navržený pro "bezprecedentní škálovatelnost dat i týmů a optimalizovaný pro projekty, včetně her a zábavy, které kombinují kód s velkými binárními soubory, aby uspokojil potřeby vývojářů i umělců". Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
Úřad pro ochranu hospodářské soutěže (ÚOHS) provedl v říjnu 2024 místní šetření u společnosti Seznam.cz. Úřad prověřoval důvodné podezření na možné protisoutěžní jednání, konkrétně zneužití dominantního postavení. Krajský soud v Brně v květnu 2025 konstatoval, že toto šetření bylo nezákonné. Nejvyšší správní soud (NSS) včera rozhodl, že šetření bylo provedeno v souladu se zákonem. Krajský soud bude muset případ posoudit znovu.
Byl představen skládací telefon Commodore Callback 8020. Ani hloupý, ani chytrý. Pro fanoušky Commodore a digitálního minimalismu. Bez webového prohlížeče a sociálních sítí. S předinstalovaným WhatsAppem. S operačním systémem Sailfish OS.
V OpenBSD byla objevena 27 let stará chyba v ppp pomocí níž lze vzdáleně obejít autentifikaci. Chyba byla nahlášena 12.6. a 14.6. byla opravena. Bližší info v článku A 27-Year-Old Authentication Bypass in OpenBSD's PPP Stack.
Odpověď Evropské komise (pdf) k evropské občanské iniciativě Stop Destroying Videogames, jež je součástí hnutí Stop Killing Games: "Komise se domnívá, že v této fázi nemůže navrhnout právní povinnost zachovat hratelnost videoher poté, co přestaly být poskytovány komerčně. Důvodem jsou i stávající práva duševního vlastnictví. Podle autorského práva EU mají nositelé práv výlučná práva ke svým výtvorům. Kromě autorských práv mohou být
… více »Byl vydán Mozilla Firefox 152.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 152 bude brzy k dispozici také na Flathubu a Snapcraftu.
Desktopové prostředí KDE Plasma bylo vydáno ve verzi 6.7 (Mastodon). Přehled novinek i s videi a se snímky obrazovek v oficiálním oznámení. Podrobný přehled v seznamu změn.
Hříčka xsnow, která na ploše spustí sněžení, je protestware. Pokud jste v Rusku (LANG=ru), zobrazuje ukrajinské vlajky.
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.