Как включить "sthread.h" в C - PullRequest
0 голосов
/ 25 апреля 2018

Я читаю какую-то книгу (Принципы и практика операционных систем 2012), и у меня есть пример с кодом C с потоками. И я не могу использовать заголовок pthread.h. Где я могу взять код для этого заголовка или где я могу найти что-нибудь об этом? Также мне нужны специальные дополнения, когда я компилирую его в Windows. Спасибо каждому:)

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

static void go(int n);

#define NTHREADS 10
static pthread_t threads[NTHREADS];

int main(int argc, char **argv)
{
    int ii;

    for(ii = 0; ii < NTHREADS; ii++)
    {
        pthread_create(&(threads[ii]), &go, ii);
    }

    for(ii = 0; ii < NTHREADS; ii++)
    {
        long ret = pthread_join(threads[ii]);
        printf("Thread %d returned %ld\n", ii, ret);
    }

    printf("Main thread done.\n");
    return 0;
}

void go(int n)
{
    printf("Hello from thread %d\n", n);
    pthread_exit(100 + n);
}

1 Ответ

0 голосов
/ 26 апреля 2018

И я не могу использовать заголовок pthread.h.Где я могу взять код для этого заголовка или где я могу найти что-нибудь об этом?

Это часть вашей операционной системы.Если у вас его нет, вы не можете.

Также мне нужны специальные дополнения, когда я компилирую его в Windows.

Да, вам нужно знатьчто у Windows нет pthreads.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...