2012-04-23 6 views
-2

Во время выполнения, как я могу создать поток?создание времени создания потока

Я возьму # нити из стандартного ввода - терминал - тогда я создам поток в соответствии с этим номером. Но как ?

Ex: 
    input : N,    N is integer 

    in main function 

       create N thread 

EDIT: платформа Linux

+1

Да, вы можете. Но точно, как это сделать, во многом зависит от того, какую систему вы используете для ее запуска. Нити не являются частью стандарта C. Какую систему вы используете? –

ответ

2

Да, нитки (если мы предположим, что мы используем Pthreads) создаются с помощью вызова pthread_create, и вы можете позвонить, что из петли.

Вот начало функции C, которая создает N темы:

int start_N_threads(int N) { 
    pthread_t threads[N]; 
    printf("Starting %d thread(s)...\n", N); 
    for (int i = 0; i < N; ++i) { 
     if (pthread_create(&threads[i], NULL, thread_body, (void*)&results[i]) != 0) { 
      printf("Couldn't create thread %d.\n", i); 
     } 
    } 
    printf("The %d thread(s) are running.\n", N); 
Смежные вопросы