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 11:44 | Komunita

    Hříčka xsnow, která na ploše spustí sněžení, je protestware. Pokud jste v Rusku (LANG=ru), zobrazuje ukrajinské vlajky.

    Ladislav Hagara | Komentářů: 7
    dnes 11:11 | Nová verze

    UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala beta verzi Ubuntu Touch 24.04-2.0. Nová verze již počítá s výřezy pro fotoaparát (notch) a zaoblenými rohy displeje. Webový prohlížeče Morph přešel z Chromia 87 na Chromium 134. Do shellu Lomiri byl přidán editor snímků obrazovky.

    Ladislav Hagara | Komentářů: 0
    dnes 04:22 | Komunita

    V Praze probíhá Flock 2026, tj. konference pro přispěvatele a příznivce Fedory. Přednášky lze sledovat také na YouTube.

    Ladislav Hagara | Komentářů: 0
    dnes 04:00 | Nová verze

    Node-RED (Wikipedie, GitHub), webová aplikace postavená na Node.js pro vizuální programování a propojování hardwarových zařízení, API a online služeb, byl vydán ve verzi 5.0. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    dnes 02:00 | Nová verze

    Byla vydána nová verze 3.27.0 FreeRDP, tj. svobodné implementace protokolu RDP (Remote Desktop Protocol). Opraveno bylo 5 zranitelností.

    Ladislav Hagara | Komentářů: 0
    včera 23:11 | Komunita

    Řídící výbor GCC schválil záměr do GCC začlenit backend WebAssembly.

    Ladislav Hagara | Komentářů: 2
    14.6. 21:00 | Nová verze

    Po 9 týdnech vývoje od vydání Linuxu 7.0 oznámil Linus Torvalds vydání Linuxu 7.1. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna a časem také na Linux Kernel Newbies.

    Ladislav Hagara | Komentářů: 0
    14.6. 13:33 | Zajímavý software

    Cheat Engine (Wikipedie) je s verzí 7.7 k dispozici už také pro Linux. Jedná se o proprietární skener/debugger paměti používaný především k cheatování v počítačových hrách.

    Ladislav Hagara | Komentářů: 0
    13.6. 15:22 | IT novinky

    Vláda USA nařídila společnosti Anthropic pozastavit přístup k modelům Fable 5 a Mythos 5 pro všechny cizince, včetně zaměstnanců Anthropicu.

    Ladislav Hagara | Komentářů: 8
    13.6. 02:22 | Nová verze

    Společnost Murena představila (YouTube) novou verzi 4.0 mobilního operačního systému /e/OS (Wikipedie) založeného na Androidu a LineageOS bez aplikací a služeb od Googlu.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (8%)
     (2%)
     (16%)
     (31%)
     (3%)
     (6%)
     (3%)
     (16%)
     (26%)
    Celkem 1916 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: pthreads - prosím o kontrolu

    30.11.2009 10:12 tomas
    pthreads - prosím o kontrolu
    Přečteno: 445×
    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.