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 00:33 | Zajímavý projekt

Společnost MNT Research má v plánu na Crowd Supply spustit kampaň na podporu open source notebooku MNT Reform. Vývoj notebooku lze sledovat na Mastodonu.

Ladislav Hagara | Komentářů: 3
dnes 00:11 | Zajímavý software

Chcete si zahrát víceuživatelský tetris v terminálu? Stačí spustit ssh netris.rocketnine.space. Na straně serveru běží netris. Zdrojové kódy v programovacím jazyce Go jsou k dispozici pod licencí GPLv3.

Ladislav Hagara | Komentářů: 0
včera 19:44 | Nová verze

Po čtyřech měsících vývoje od vydání verze 4.10 byla vydána nová verze 4.11 svobodné náhrady proprietárních BIOSů a UEFI coreboot (Wikipedie). Na vývoji se podílelo 130 vývojářů. Provedli 1630 změn. Přidána byla podpora pro 25 mainboardů.

Ladislav Hagara | Komentářů: 0
včera 16:22 | Nová verze

Byla vydána verze 1.6.0 emulátoru terminálu Terminology (GitHub) postaveného nad EFL (Enlightenment Foundation Libraries). Přehled novinek v poznámkách k vydání.

Ladislav Hagara | Komentářů: 0
včera 14:22 | Komunita

Vydání verze 1.0 svobodného multiplatformního vektorového grafického editoru Inkscape se blíží. Registrovaní uživatelé mají možnost hlasovat o obrázku, který bude zobrazován v okně O Inkscapu. Vybírá se ze 124 návrhů.

Ladislav Hagara | Komentářů: 7
včera 10:55 | Nová verze

Byl aktualizován seznam 500 nejvýkonnějších superpočítačů na světě TOP500. V první desítce se nic nezměnilo. Nejvýkonnějším superpočítačem zůstává superpočítač Summit. Nejvíce superpočítačů v TOP500 má Čína (228). Český superpočítač Salomon klesl na 375. místo. Další přehledy a statistiky na stránkách projektu. V aktuálním žebříčku GREEN500 (GFlops/watts) superpočítač Summit klesl na 5. místo.

Ladislav Hagara | Komentářů: 3
včera 02:00 | Zajímavý článek

V novém příspěvku na blogu Purismu se můžete dočíst, jak pokračoval vývoj softwaru Librem 5 v říjnu. Vývojáři optimalizovali linuxové jádro a ovladače pro snížení spotřeby telefonu. Mezi další změny patří lepší integrace mezi aplikacemi pomocí knihovny libfolks, byly přidány nové funkce klávesnice, nastavení, shellu, kompozitoru a opraveno plno chyb.

okias | Komentářů: 3
včera 01:55 | Nová verze

Na Humble Bundle byla spuštěna akce Humble Book Bundle: Cybersecurity 2019 by Packt. Všech 22 videokurzů a elektronických knih věnovaných kybernetické bezpečnosti od nakladatelství Packt lze koupit za 15 dolarů. Peníze lze libovolně rozdělit mezi nakladatelství Packt, neziskovou organizaci Arthritis Foundation a Humble Bundle.

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

Ben Cox v článku Jak psát ovladače nepodporovaných USB zařízení pro uživatelský prostor ukazuje, jak reverzním inženýrstvím dospěl k vlastnímu ovladači userspace-vga2usb pro převodník a frame grabber Epiphan VGA2USB LR s již nepodporovaným linuxovým ovladačem od výrobce.

Fluttershy, yay! | Komentářů: 0
18.11. 22:44 | Zajímavý software

Multiplatformní nástroj Sourcetrail pro analýzu zdrojových kódů a jejich vizualizaci byl uvolněn jako open source. Představení nástroje na YouTube. Zdrojové kódy jsou k dispozici na GitHubu pod licencí GNU GPL 3.0. Další vývoj lze podpořit na Patreonu.

Ladislav Hagara | Komentářů: 0
Jaké hodinky nosíte (nejčastěji)?
 (24%)
 (6%)
 (15%)
 (55%)
Celkem 266 hlasů
 Komentářů: 25, poslední dnes 13:06
Rozcestník
Štítky: není přiřazen žádný štítek

www.AutoDoc.Cz


Vložit další komentář
alblaho avatar 8.5.2008 21:59 alblaho | skóre: 17 | blog: alblog
Rozbalit Rozbalit vše Re: Vicevlaknove programovani v Jave
To je nějaká magie, ne? Ten příklad na mě dělá dojem, že AWT-event vlákno stejně zamrzne - čeká dokud pracovní vlákno nedodá ty data.
8.5.2008 22:04 Trained.Monkey | skóre: 12 | blog: monkey
Rozbalit Rozbalit vše Re: Vicevlaknove programovani v Jave
Foxtrot na pozadi dal dispatchuje eventy v cyklu. Az work thread dobehne, tak se cyklus prerusi a pokracuje se dal v AWT threadu.
alblaho avatar 8.5.2008 22:14 alblaho | skóre: 17 | blog: alblog
Rozbalit Rozbalit vše Re: Vicevlaknove programovani v Jave
To mě nenapadlo. Chytrý hack :-)
9.5.2008 11:12 Filip Jirsák | skóre: 67 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Vicevlaknove programovani v Jave
Tenhle princip, že musí kterékoli vlákno občas zpracovat události, se používá třeba ve WinAPI. Ale nejsem si jist, jestli to bude za každých okolností dobře fungovat ve Swingu – tam totiž všichni předpokládají, že události bude zprácovávat právě to určené vlákno. Takže pokud se nějaká událost zpracovává v jiném vlákně, a zároveň někdo spustí něco ve vlákně AWT, může se stát, že obě vlákna budou manipulovat se stejným objektem a něco si přepíšou.
alblaho avatar 9.5.2008 17:45 alblaho | skóre: 17 | blog: alblog
Rozbalit Rozbalit vše Re: Vicevlaknove programovani v Jave
Ale to právě řeší ten Foxtrot, ne? Foxtrot spustí nové vlákno, které bude obsluhovat události po dobu, kdy je "nativní" event-loop vlákno zablokované, protože čeká na dokončení nějaké dlouhé operace.
11.5.2008 15:49 Filip Jirsák | skóre: 67 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Vicevlaknove programovani v Jave
Pak ale toto nové vlákno spustí nějaký ovladač události, který bude předpokládat, že je ve vlákně AWT – a začne třeba něco překreslovat. Jenže mezitím se zablokované skutečné AWT vlákno odblokuje (skončila operace, která ho blokovala) a také začne překreslovat, nejlépe ten samý objekt. A to nemusí dopadnout dobře…
11.5.2008 23:04 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
Rozbalit Rozbalit vše Re: Vicevlaknove programovani v Jave
To se dá bez problémů řešit jedním zámkem (a formálním důkazem, že nedojde k deadlocku :-) ). 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.
Ještě na tom nejsem tak špatně, abych četl Viewegha.
12.5.2008 08:28 Filip Jirsák | skóre: 67 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Vicevlaknove programovani v Jave
To se dá bez problémů řešit jedním zámkem
Teoreticky 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.
12.5.2008 17:34 Jirka P
Rozbalit Rozbalit vše Re: Vicevlaknove programovani v Jave
Ne, je to naopak. Foxtrot pustí nové vlákno, které provádí tu dlouhou operaci, a mezitím v nativním vlákně spustí vnořenou smyčku událostí. Ne, že by to bylo úplně bezpečné, ale jde to.
12.5.2008 18:20 Filip Jirsák | skóre: 67 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Vicevlaknove programovani v Jave
Aha, to je pak ale přesně opačně, než tady napsal někdo na začátku vlákna. Pak je to ale klasický SwingWorker, který je na internetu v desítkách variant a který je už součástí Javy 6.
8.5.2008 22:06 HNT
Rozbalit Rozbalit vše Re: Vicevlaknove programovani v Jave
A tim "jdou stahnout z netu" bylo mysleno ukrast na torrentu, nebo jsou nekde volne a legalne ke stazeni? Budu vdecny za odkazy, diky.
Luboš Doležel (Doli) avatar 8.5.2008 22:16 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: Vicevlaknove programovani v Jave
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.
8.5.2008 23:37 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Vicevlaknove programovani v Jave
A nějaké ty knihovny pro usnadnění práce s vlákny by se určitě taky našly. :-)
Luk avatar 8.5.2008 23:58 Luk | skóre: 47 | blog: Kacířské myšlenky | Kutná Hora
Rozbalit Rozbalit vše Re: Vicevlaknove programovani v Jave
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ě).
LinuxMarket - linuxový e-shop | LinuxEXPRES - linuxový magazín | OpenOffice.cz - portál uživatelů OpenOffice/LibreOffice
9.5.2008 10:42 Filip Jirsák | skóre: 67 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Vicevlaknove programovani v Jave
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.
16.5.2008 22:17 Andrei Badea | skóre: 5 | Praha
Rozbalit Rozbalit vše Re: Vicevlaknove programovani v Jave
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()?
Heureux qui, comme Ulysse, a fait un beau voyage.
17.5.2008 11:52 Filip Jirsák | skóre: 67 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Vicevlaknove programovani v Jave
Bral jsem to podle toho, že už jsem v debuggeru těch vláken AWT-EventQueue viděl víc. Ale podle zdrojáku je to tak, jak píšete – v zásobníku může být sice vláken víc, ale aktivní je jen to na vrcholu. A třeba právě metoda 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.
17.5.2008 23:09 Andrei Badea | skóre: 5 | Praha
Rozbalit Rozbalit vše Re: Vicevlaknove programovani v Jave
Dekuju za upresneni, takhle tomu rozumim i ja: aktivni muze byt jen jedna EventQueue.
Heureux qui, comme Ulysse, a fait un beau voyage.

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.