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í
×
    včera 18:44 | Komunita

    Od soboty do úterý probíhá v Hamburku konference 39C3 (Chaos Communication Congress) věnovaná také počítačové bezpečnosti nebo hardwaru. Program (jiná verze) slibuje řadu zajímavých přednášek. Streamy a záznamy budou k dispozici na media.ccc.de.

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

    Byl představen nový Xserver Phoenix, kompletně od nuly vyvíjený v programovacím jazyce Zig. Projekt Phoenix si klade za cíl být moderní alternativou k X.Org serveru.

    🇨🇽 | Komentářů: 2
    včera 13:11 | Nová verze

    XLibre Xserver byl 21. prosince vydán ve verzi 25.1.0, 'winter solstice release'. Od založení tohoto forku X.Org serveru se jedná o vůbec první novou minor verzi (inkrementovalo se to druhé číslo v číselném kódu verze).

    🇨🇽 | Komentářů: 0
    včera 03:33 | Nová verze

    Wayback byl vydán ve verzi 0.3. Wayback je "tak akorát Waylandu, aby fungoval Xwayland". Jedná se o kompatibilní vrstvu umožňující běh plnohodnotných X11 desktopových prostředí s využitím komponent z Waylandu. Cílem je nakonec nahradit klasický server X.Org, a tím snížit zátěž údržby aplikací X11.

    Ladislav Hagara | Komentářů: 0
    25.12. 14:44 | Nová verze

    Byla vydána verze 4.0.0 programovacího jazyka Ruby (Wikipedie). S Ruby Box a ZJIT. Ruby lze vyzkoušet na webové stránce TryRuby. U příležitosti 30. narozenin, první veřejná verze Ruby 0.95 byla oznámena 21. prosince 1995, proběhl redesign webových stránek.

    Ladislav Hagara | Komentářů: 0
    24.12. 02:11 | Komunita

    Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.

    Ladislav Hagara | Komentářů: 30
    24.12. 02:00 | Nová verze

    Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    23.12. 18:33 | Nová verze

    Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.

    Ladislav Hagara | Komentářů: 0
    23.12. 13:55 | Nová verze

    Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.

    Ladislav Hagara | Komentářů: 0
    23.12. 12:44 | Nová verze

    Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.

    Ladislav Hagara | Komentářů: 0
    Kdo vám letos nadělí dárek?
     (35%)
     (2%)
     (18%)
     (2%)
     (2%)
     (2%)
     (15%)
     (15%)
     (10%)
    Celkem 120 hlasů
     Komentářů: 18, poslední 24.12. 15:29
    Rozcestník

    Dotaz: pthreads - prosím o kontrolu

    30.11.2009 10:12 tomas
    pthreads - prosím o kontrolu
    Přečteno: 429×
    Příloha:
    Zdravím,

    Jako programátor-samouk bych chtěl poprosit místní odborníky s následující situací: chci program který bude měnit data simultánně v několika vláknech, pak vlákna zastaví a provede nějakou souhrnnou operaci na všech datech, pak vlákna opět spustí a provede něco simultánně, a to celé se několikrát zopakuje.

    Můj návrh programu je přiložen.

    Program běží jak má, ale nejsem si jistý, jestli jsem tam nezapomněl nějakou náhodně se chovající chybu. Zejména si nejsem jistý, zda za ř. 54 nemůže dojít k nějaké nechtěné modifikaci mutexu či podmínky dřív, než řádek 118 zareaguje na signál poslaný před ř. 54.

    Umí někdo říct, zda uvedené řešení je správně?

    Díky.

    Odpovědi

    30.11.2009 14:43 Sinuhet | skóre: 31
    Rozbalit Rozbalit vše Re: pthreads - prosím o kontrolu
    Jak je to poskladano dohromady je to OK, rekl bych. Ale prijde mi to prilis komplikovane a neprehledne, pro zacatek bych doporucoval pouzit pthread_barrier_*.
    30.11.2009 16:00 tomas
    Rozbalit Rozbalit vše Re: pthreads - prosím o kontrolu
    Díky, podívám se, co ten barrier umí.
    30.11.2009 16:42 tomas
    Rozbalit Rozbalit vše Re: pthreads - prosím o kontrolu
    Příloha:
    Ten barrier se opravdu celkem hodí, kód se zkrátil a zpřehlednil. Pokud by někdy někdo řešil podobný problém, přikládám upravený kód.
    30.11.2009 18:57 Boris Dušek | skóre: 22 | blog: everything
    Rozbalit Rozbalit vše Re: pthreads - prosím o kontrolu
    Jen poznámka k tomu cyklu "Do something", který má trošku zdržet - jelikož ani i, ani j se nepoužívají k žádnému dalšímu výpočtu ani jako parametry volání nějaké funkce, tak při nastavení optimalizace (třeba gcc -O2) kompilátor usoudí, že ten cyklus nic nemění a ten for cyklus vůbec do výsledného kódu nedá. Proto je třeba označit proměnné i,j jako "volatile", aby překladač bral každé čtení a zápis do i, j jako něco, co může mít vedlejší efekty (což je myslím definice "volatile" v C), a tím pádem i vliv na korektnost programu. Když jsem dal "volatile int i, j;", tak už tam ten for cyklus i při optimalizaci nechal.
    vim ~/.emacs
    30.11.2009 19:17 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: pthreads - prosím o kontrolu
    Ještě lepší by samozřejmě bylo použít např. nanosleep().
    30.11.2009 20:36 tomas
    Rozbalit Rozbalit vše Re: pthreads - prosím o kontrolu
    Jasně - já to zkoušel bez optimalizace; nakonec se mi ale stejně jako lepší generátor zdržení osvědčilo prostě spustit program v gdb a pomocí break pointu zarazit jedno vlákno, zatímco zbytek pokračoval (pomocí toho jsem odhalil pár prvních chyb).
    3.12.2009 00:02 vencas | skóre: 32
    Rozbalit Rozbalit vše Re: pthreads - prosím o kontrolu
    Podívejte se na OpenMP. Na typy úloh, kde se OpenMP hodí, je kód pak o dost přehlednější, ale nevím, jestli je to váš případ. Mně to funguje výborně.

    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.