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 20:00 | Upozornění

Výbor pro právní záležitosti Evropského parlamentu (JURI) dnes přijal své stanovisko ke kontroverzní novele směrnice, která v EU upravuje autorské právo v online prostředí (Pro: 14, Proti: 9, Zdrželo se: 2). Další kolo legislativního procesu proběhne na začátku července.

Ladislav Hagara | Komentářů: 2
včera 19:55 | Zajímavý článek

Byly zveřejněny (pdf) podrobnosti o kritické bezpečnostní chybě CVE-2017-12542 v HPE iLO 4 (Integrated Lights-Out), tj. v proprietárním řešení společnosti Hewlett Packard Enterprise pro vzdálenou správu jejich serverů. Bezpečnostní chyba zneužitelná k obejití autentizace a k vzdálenému spuštění libovolného kódu byla opravena již v květnu loňského roku ve verzi 2.53.

Ladislav Hagara | Komentářů: 8
včera 17:55 | Zajímavý projekt

CSIRT.CZ informuje o CTF (Capture the Flag) platformě ZSIS CTF s úlohami pro procvičování praktických dovedností z oblasti kybernetické bezpečnosti a upozorňuje na soutěž Google Capture the Flag 2018, kde je možné vyhrát zajímavé ceny.

Ladislav Hagara | Komentářů: 0
včera 17:00 | Komunita

Byly zveřejněny prezentace a videozáznamy přednášek z prvního československého setkání síťových operátorů CSNOG konaného 11. a 12. června v Brně a semináře IPv6 2018 uskutečněného 6. června v Praze.

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

Svobodný unixový operační systém FreeBSD slaví 25 let. Přesně před pětadvaceti lety, tj. 19. června 1993, byl vybrán název FreeBSD.

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

Oficiální YouTube kanál Blenderu je již několik dní blokován. Nadace Blender Foundation informuje, že od společnosti Google dostala šestistránkový návrh nové smlouvy (pdf). Zdá se, že podmínkou další spolupráce je zapnutí reklam na kanálu, tj. zpeněžení obsahu.

Ladislav Hagara | Komentářů: 26
včera 01:55 | Nová verze

Byla vydána verze 1.13 multiplatformního open source textového editoru Brackets (Wikipedie, GitHub). Přehled novinek v oficiálním oznámení a v poznámkách k vydání. Brackets je nově dostupný také jako balíček ve formátu Flatpak z oficiálního repozitáře Flathub.

Ladislav Hagara | Komentářů: 4
18.6. 18:44 | Komunita

Oficiální YouTube kanál Blenderu je již několik dní blokován. Důvody jsou zatím nejasné. Pravděpodobně chyba YouTube. Dění lze sledovat na Twitteru Tona Roosendaala.

Ladislav Hagara | Komentářů: 19
18.6. 17:55 | Zajímavý software

Na GitHubu byly pod open source licencí LLVM zveřejněny zdrojové kódy překladače programovacího jazyka C++ Zapcc vycházejícího z Clangu/LLVM. Překlad pomocí Zapccu je díky lepšímu kešování obvykle několikrát rychlejší než překlad pomocí Clangu. V březnu loňského roku byl vydán Zapcc ve verzi 1.0.

Ladislav Hagara | Komentářů: 0
18.6. 17:22 | Pozvánky

Červnový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 21. 6. 2018 od 18:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát na téma: F-Droid, aneb svobodný software do vašeho mobilu. Kromě toho budou k vidění i vývojové desky HiFive1 se svobodným/otevřeným čipem RISC-V.

xkucf03 | Komentářů: 1
Jak čtete delší texty z webových stránek?
 (77%)
 (22%)
 (4%)
 (6%)
 (3%)
 (11%)
Celkem 222 hlasů
 Komentářů: 37, poslední dnes 20:25
    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: 559×

    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.