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 14:22 | Nová verze

    Intel vydal 42 upozornění na bezpečnostní chyby ve svých produktech. Současně vydal verzi 20260811 mikrokódů pro své procesory.

    Ladislav Hagara | Komentářů: 0
    dnes 05:33 | Zajímavý článek

    Sny o designu GNOME Shellu, článek s náhledy a videi, představuje dlouhodobou vizi týmu GNOME pro vylepšení uživatelského rozhraní GNOME Shellu. Zatímco nedávné verze přinášely spíše drobné úpravy, designéři nyní plánují zásadnější změny.

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

    Byla vydána nová verze 10.5 sady aplikací pro SSH komunikaci OpenSSH. Přináší řadu důležitých bezpečnostních oprav, vylepšení funkcí a oprav chyb. Nově vyžaduje podporu ECC (Elliptic Curve Cryptography) v libcrypto, včetně křivky NISTP521.

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

    Byla vydána nová verze 10.6 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. S novými obrazy pro Orange Pi 4 Pro, Orange Pi Zero 3W a Odroid M1/M1S/M2. Přehled novinek v poznámkách k vydání.

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

    Námořní drony používané elitními jednotkami britského královského námořnictva tajně posílaly údaje do Číny. Stroje vybavené čínskými komponenty měly být využívány pro vojenské operace na Blízkém východě. Kamery na dálkově řízených průzkumných člunech K3 Scout byly vybavené součástkami, které bez vědomí britského námořnictva odesílaly informace do spojeného zařízení v Číně. Britské námořní síly využívaly flotilu námořních dronů

    … více »
    Ladislav Hagara | Komentářů: 4
    včera 13:33 | IT novinky

    Alza.cz nabízí herní AlzaPC s předinstalovaným Linuxem (YouTube), konkrétně s linuxovou distribucí Bazzite (Wikipedie).

    Ladislav Hagara | Komentářů: 7
    včera 04:55 | Nová verze

    Squeak (Wikipedie), open source implementace programovacího jazyka a prostředí Smalltalk, byl vydán ve verzi 6.1. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 04:44 | Bezpečnostní upozornění

    V Linuxu v KVM byla nalezena a v upstreamu již byla opravena kritická zranitelnost Zapscape aneb CVE-2026-64561. Root na hostovaném počítači (virtuální stroj) může obejít izolaci a získat plnou kontrolu nad hostitelským systémem (DoS útok nebo vzdálené spuštění kódu s právy roota). Na obou hlavních architekturách – Intel i AMD. Zranitelnost v Linuxu existovala 6 let (od července 2020 do července 2026).

    Ladislav Hagara | Komentářů: 0
    10.8. 19:00 | IT novinky

    Počítačová hra Knytt napsaná v Multimedia Fusion 2 byla vydána před 20 lety. Při této příležitosti byl dnes představen moderní port (YouTube) této plošinovky na současné operační systémy pod názvem Knytt Classic. Je zdarma k dispozici na Steamu a GOG.com.

    Ladislav Hagara | Komentářů: 0
    10.8. 16:00 | IT novinky

    Americká technologická společnost Meta Platforms představila nový model umělé inteligence (AI) Muse Glimmer. Model je menší než přední modely AI od konkurence a má běžet přímo na počítačích uživatelů. Meta model zpřístupní jako open source, tedy otevřený software. Nový model je navržen tak, aby zvládal takzvané agentní úkoly na počítačích se spotřebitelskou grafickou kartou. Klade si tak za cíl uspokojit poptávku po systémech AI, které běží přímo na zařízeních uživatelů.

    Ladislav Hagara | Komentářů: 8
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (2%)
     (18%)
     (30%)
     (6%)
     (6%)
     (2%)
     (15%)
     (23%)
    Celkem 2372 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Administrace komentářů

    Jste na stránce určené pro řešení chyb a problémů týkajících se diskusí a komentářů. Můžete zde našim administrátorům reportovat špatně zařazenou či duplicitní diskusi, vulgární či osočující příspěvek a podobně. Děkujeme vám za vaši pomoc, více očí více vidí, společně můžeme udržet vysokou kvalitu AbcLinuxu.cz.

    Příspěvek
    19.2.2009 14:23 Hop
    Rozbalit Rozbalit vše Re: C a pthreads - cekani na vice conditional variables

    Dobre, 

    takze jsem zatim udelal neco takoveho - predavani dat je pres spolecny buffer:

    #include <pthread.h>
    #include <stdio.h>
    #include <stdlib.h>

    #define NUM_OF_WORKERS  3

    #define NUM_WORKERS_JOB 5
    #define JOB_MAX_TIME 10

    #define MESSAGE_FOR_BOSS_LENGTH 80
    char message_for_boss[MESSAGE_FOR_BOSS_LENGTH];

    pthread_mutex_t message_for_boss_mutex;


    void *worker_thread (void* t)
    {
        int job;
        unsigned int random_time;

        printf ("W%i: Hello!\n", (unsigned int)t);

        for (job = 0; job < NUM_WORKERS_JOB; job++)
        {
            random_time = rand () % JOB_MAX_TIME;

            printf ("W%i: I will complete my job #%i after %i seconds.\n", (unsigned int)t, job, random_time);

            /* Simulate a job progress */
            sleep(random_time);

            /* Sent message for my Boss */
            pthread_mutex_lock (&message_for_boss_mutex);
            sprintf (message_for_boss, "Hi, there is W%i! My job #%i is completed! Processing time was %i seconds.", (unsigned int)t, job, random_time);
            pthread_mutex_unlock (&message_for_boss_mutex);

            printf ("W%i: I have completed my job #%i.\n", (unsigned int)t, job);
        }

        printf ("W%i: Good bye!\n", (unsigned int)t);

        pthread_exit (NULL);
    }


    int main (int argc, char **argv)
    {
        unsigned int i;

        pthread_t threads[NUM_OF_WORKERS];
        pthread_attr_t attr;

        /* Initialize mutex */
        pthread_mutex_init(&message_for_boss_mutex, NULL);

        /* For portability, explicitly create threads in a joinable state */
        pthread_attr_init(&attr);
        pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_JOINABLE);

        for (i = 0; i < NUM_OF_WORKERS; i++)
        {
            printf ("B: Creating worker thread W%i\n", i);
            pthread_create (&threads[i], &attr, worker_thread, (void *)i);
        }

        /* Wait for result from worker_thread */
        printf ("B: Waiting for messages from workers.\n");


        /* Wait for all threads to complete */
        for (i = 0; i < NUM_OF_WORKERS; i++) {
            pthread_join(threads[i], NULL);
        }

        printf ("B: All worker threads are joined!\n");

        /* Destroy mutex */
        pthread_mutex_destroy(&message_for_boss_mutex);

        return (0);
    }

    jeste ale nechapu tu spolecnou condition variable - pokud bosse probudi cekani pthread_cond_wait na spolecnou podminku, tak jakym zpusobem se on potom dozvi, ktery worker ho probudil?

    Jinak jeste bych zaroven poprosil o zbeznou kontrolu tohoto, co uz mam - jsem v programovani v podstate samouk, takze si nejsem jisty, zda to delam tak spravne.

    Dekuji, Tomas

    V tomto formuláři můžete formulovat svou stížnost ohledně příspěvku. Nejprve vyberte typ akce, kterou navrhujete provést s diskusí či příspěvkem. Potom do textového pole napište důvody, proč by měli admini provést vaši žádost, problém nemusí být patrný na první pohled. Odkaz na příspěvek bude přidán automaticky.

    Vaše jméno
    Váš email
    Typ požadavku
    Slovní popis
    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.