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 16:00 | Pozvánky

    V pátek 28. srpna se v Praze uskuteční již osmý Mobile Linux Hackday. Jako obvykle se potkáme v pražské pobočce SUSE v Karlíně na Křižíkově, takže kromě mobilního Linuxu je to tentokrát i příležitost přijít se podívat na nově zrekonstruované kanceláře. Začínáme v 10:00, ale dorazit můžete samozřejmě kdykoliv v průběhu dne. Setkáním vás provede David Heidelberg, vývojář GPU ovladačů v Mesa 3D a jeden z hlavních lidí české komunity kolem … více »

    lkocman | Komentářů: 0
    včera 14:11 | IT novinky

    Představen byl Raspberry Pi Compute Module 5 Programming Jig. Jedná se o zařízení umožňující připravit Compute Module 5 do plně funkčního stavu bez nutnosti použití dalších vstupně / výstupních desek. Podporuje automatizaci pomocí nástroje rpi-sb-provisioner. Podrobnosti v dokumentaci.

    Ladislav Hagara | Komentářů: 1
    včera 05:55 | IT novinky

    Hackeři ve Francii ukradli data více než půl milionu daňových poplatníků. Je to jeden z největších hackerských útoků v dějinách země. O útoku z konce června informovala až teď daňová správa. Teprve od pondělí dotčeným občanům zasílá e-maily s instrukcemi, jak postupovat dál. Hackeři se sice nedostanou k penězům dotyčných, hrozí ale věrohodné podvody. Hackeři získali třeba celá jména, údaje o rodinných příslušnících nebo také údaje o

    … více »
    Ladislav Hagara | Komentářů: 19
    včera 04:44 | IT novinky

    Společnost Framework představila nový Framework Laptop 12 s Intel Core Series 3, Thunderbolt 4, Wi-Fi 7, volitelnou čtečkou otisků prstů a podsvícenou klávesnicí s open-source firmwarem ZMK. Objednat lze s předinstalovanou Fedorou 44 KDE Plasma.

    Ladislav Hagara | Komentářů: 0
    18.8. 16:44 | Nová verze

    Byl vydán Mozilla Firefox 154.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 154 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    18.8. 14:33 | Nová verze

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 168 (pdf).

    Ladislav Hagara | Komentářů: 0
    18.8. 11:55 | Nová verze

    Open-source citační manažer Zotero (Wikipedie, GitHub) byl vydán v nové major verzi 10. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    18.8. 00:44 | Nová verze

    Interaktivní editor binárních dat GNU poke byl vydán ve verzi 5.0 (seznam změn).

    |🇵🇸 | Komentářů: 13
    17.8. 18:55 | Nová verze

    Byla vydána verze 0.85 telnet a ssh klienta PuTTY (Wikipedie). Řešeno je 5 zranitelností.

    Ladislav Hagara | Komentářů: 0
    17.8. 13:33 | Zajímavý článek

    Byly publikovány novinky z vývoje GIMPu. Pracuje se na novém formátu souborů. Stávající binární XCF bude nahrazen "zazipovaným XML". XCF zůstane plně podporován pouze pro načítání starých souborů.

    Ladislav Hagara | Komentářů: 12
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (2%)
     (18%)
     (30%)
     (7%)
     (6%)
     (2%)
     (15%)
     (22%)
    Celkem 2434 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    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: 743×

    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.