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 04:55 | Komunita

    Nové verze webových prohlížečů Chrome a Firefox jsou vydávány každé 4 týdny. Aktuální verze Chrome je 150. Aktuální verze Firefoxu je 152. V březnu bylo oznámeno, že od září přejde Chrome na dvoutýdenní cyklus vydávání verzí. To by znamenalo, že Chrome v číslování verzí Firefox brzy přeskočí. Vývojáři Firefoxu proto také od září přecházejí na dvoutýdenní cyklus vydávání verzí. :-)

    Ladislav Hagara | Komentářů: 0
    dnes 00:22 | Zajímavý software

    Microsoft Comic Chat (Wikipedie), tj. grafický IRC klient z devadesátek, který převáděl konverzace na IRC do podoby komiksových panelů, a který zpopularizoval font Comic Sans, je dnešním dnem open source. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 1
    včera 19:55 | Nová verze

    Byla vydána (𝕏) nová verze 26.7 open source firewallové a routovací platformy OPNsense (Wikipedie). Jedná se o fork pfSense postavený na FreeBSD. Kódový název OPNsense 26.7 je Xenial Xenops. Přehled novinek v příspěvku na fóru.

    Ladislav Hagara | Komentářů: 0
    včera 14:44 | IT novinky

    Na Seznam nepovolených internetových her (Wikipedie) se k 13. 7. 2026 dostala predikční platforma Polymarket.

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

    Nová čísla časopisů od nakladatelství Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 167 (pdf) a Hello World 30 (pdf).

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

    Byla vydána nová verze 3.22.0 grafického vývojového prostředí a platformy Gambas (Wikipedie) založené na interpretru programovacího jazyka Basic s rozšířením o objektově orientované programování. Přehled novinek v poznámkách k vydání. Zdrojové kódy jsou k dispozici na GitLabu.

    Ladislav Hagara | Komentářů: 0
    15.7. 20:22 | Komunita

    FreeBSD odstranilo poslední GPL kód ze základního systému. Konkrétně dpv, libdpv, libfigpar a dialog. Instalátor před čtyřmi lety přešel z dialogu na bsddialog.

    Ladislav Hagara | Komentářů: 2
    15.7. 15:22 | IT novinky

    Sociální síti 𝕏 (dříve Twitter) má dnes 20 let. Pro veřejnost byla zpřístupněna 15. července 2006.

    Ladislav Hagara | Komentářů: 2
    15.7. 14:22 | Zajímavý software

    Insula Faktury je open source generátor faktur, který běží přímo ve webovém prohlížeči. Žádná registrace, žádné sledování, žádné omezení. Zdrojové kódy jsou k dispozici na Codebergu.

    Ladislav Hagara | Komentářů: 18
    15.7. 13:22 | Komunita

    První Mobile Linux Hackday v Plzni, tj. komunitní setkání věnované Linuxu na mobilních zařízeních, proběhne 24. července od 10:00. Akce je otevřená všem zájemcům – od zvědavců po zkušené vývojáře. Dopoledne proběhnou přednášky Davida Heidelberga a Petra Hodiny o aktuálním stavu mobilního Linuxu: proč vůbec chtít tučňáka v kapse, jaké telefony jsou dnes dobře podporované a co taková podpora obnáší. Po obědě se zaměříme na konkrétní

    … více »
    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (7%)
     (2%)
     (17%)
     (31%)
     (4%)
     (6%)
     (2%)
     (15%)
     (25%)
    Celkem 2147 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník
    Štítky: není přiřazen žádný štítek


    Dotaz: pthread - použití/vysvětlení

    3.12.2008 20:31 Radek
    pthread - použití/vysvětlení
    Přečteno: 657×

    zdravím ve spolek, snažím se trochu pochopit vícevláknové aplikace, zkoušel jsem i něco napsat, nicméně nechápu jednu věc (viz. příklad)

     

      1 #include <unistd.h>
      2 #include <pthread.h>
      3 #include <stdlib.h>
      4 #include <stdio.h>
      5 void *thread_func( void *vptr_args );
      6 int main( void ){
      7     int j;
      8     pthread_t thread;
      9     pthread_create( &thread, NULL,
     10             &thread_func, NULL );
     11     for( j= 0; j < 20; ++j ){
     12         fprintf( stdout, "a " );
     13         sleep(1);
     14     }
     15     pthread_join( thread, NULL );
     16     fprintf(stdout, "\n");
     17     exit( EXIT_SUCCESS );
     18 }
     19 void *thread_func( void *vptr_args ){
     20     int j;
     21     for( j= 0; j < 10; ++j ){
     22         fprintf( stderr, " b " );
     23         sleep(4);
     24     }
     25     return NULL;
     26 }
     

    pokud zadam časy sleep(time) delší, pak mi vypise a b a b ..., ale pokud jsou časy krátké, pak to nejdříve vypíše thread_function a poté najednou main.

    Chtěl bych vysvětlit proč, předpokládal jsem, že to jaksi pojede oboje najednou, i kdyby tam žádný sleep nebyl. Chápu, že na jednoprocesorovém počítači se vykonává jedna věc v daném čase, ale nicméně, bych předpokládal, že systém na určitou dobu přidělí čas jednomu vláknu a pak druhému, a tudíž se budou střídat..

    díky

    Odpovědi

    3.12.2008 20:50 johniez | skóre: 17 | blog: xyz | Praha
    Rozbalit Rozbalit vše Re: pthread - použití/vysvětlení

    Nehraje tam nějakou roli to, že je výstup bufferován?

    3.12.2008 21:08 Andrej Herceg | skóre: 43
    Rozbalit Rozbalit vše Re: pthread - použití/vysvětlení
    Navyše jedno má výstup do stdout a druhé do stderr.
    3.12.2008 21:18 Radek
    Rozbalit Rozbalit vše Re: pthread - použití/vysvětlení

    to mi nedoslo, ze je to zpusobeno tim bufferovanim...

    takze kdyby ta fce ciste jen neco pocitala a v main fci by se take neco pocitalo, tak by to jelo opravdu oboje najednou  na dvou jadrovem procesoru? Nejsem si prave jist tim, jestli vlakna mohou jet opravdu na ruznych procesorech (jestli system umi kazdemu vlaknu pridelit jiny procesor) nebo je to az kdyz je aplikace viceprocesova napr. pomoci fork.

    3.12.2008 22:31 johniez | skóre: 17 | blog: xyz | Praha
    Rozbalit Rozbalit vše Re: pthread - použití/vysvětlení

    Vlákna na úrovni jádra OS můžou jet na více procesorech.

    Bluebear avatar 3.12.2008 23:07 Bluebear | skóre: 30 | blog: Bluebearův samožerblog | Praha
    Rozbalit Rozbalit vše Re: pthread - použití/vysvětlení

    Nevím, jestli je to tak úmyslně, ale v thread_func() píšeš do stderr, zatímco v main() píšeš do stdout. Stdout používá buffering, zatímco stderr ne; tipoval bych, že aspoň část problému bude tady.

    To mi připomíná, jak jsem si pořídil květináč, že v něm budu mít květinu. Opravdu tam byla, ale potom být přestala...
    Bluebear avatar 3.12.2008 23:07 Bluebear | skóre: 30 | blog: Bluebearův samožerblog | Praha
    Rozbalit Rozbalit vše Re: pthread - použití/vysvětlení

    Pozdě :-(

    To mi připomíná, jak jsem si pořídil květináč, že v něm budu mít květinu. Opravdu tam byla, ale potom být přestala...

    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.