Я сейчас пишу программу pthread.Из того, что я испытал в C #, я думаю, что при создании потока может быть условие гонки.
for (i = 0; i < 10; i++)
{
pthread_create(threads[i], NULL, &do_something, (void*)&data[i]);
}
Возможно ли, что локальная переменная i обновляется до создания нового потока?Следовательно, неверная запись данных или потоков в массивах может быть передана в функцию do_something?По крайней мере, в C #, если я использую Task.Factory.StartNew (), это большая проблема.
Заранее спасибо.