обработка больших данных с использованием нескольких потоков одного и того же кода в Linux C - PullRequest
0 голосов
/ 17 июня 2011

Можно ли создать несколько потоков одной и той же функции для обработки больших массивов в маленьких блоках?

Я пытаюсь сделать это в Linux C, предположим, что я прочитал (), что он читает данные из последовательного в массив,когда массив заполнен, он передается для обработки в stable (), а пока он обрабатывается, чтение должно считывать новые данные, потому что stable () занимает много времени для обработки старых данных, поэтому вновь созданный поток stable () должен обрабатывать новыеданные доступны в массиве.

проблема в том, что я запутался, могу ли я создать два потока stable () в Linux C?

1 Ответ

0 голосов
/ 17 июня 2011

Каждый поток, созданный с помощью API pthreads, указывает точку входа, которая должна соответствовать стандартной подписи:

void *entry(void *)
{
   return 0;
}

После вызова этой точки входа вы можете вызывать все, что захотите, включая stable ().рутина, на которую вы ссылались выше.Однако вы должны быть осторожны, чтобы гарантировать, что stable () и все, что он вызывает, потокобезопасны.

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