Re[3]: Потоки С++ Linux [2]
От: ioni Россия  
Дата: 26.12.07 08:18
Оценка:
Здравствуйте, serg097, Вы писали:

S>Здравствуйте, ioni, Вы писали:


I>>Здравствуйте, serg097, Вы писали:


S>>>Здравствуйте! В продолжении темы "Потоки С++ Linux".

S>>>В ходе тестирования программы установил, что даже если потоки не работают с устройством ввода/вывода,
S>>>они все равно выполняются по очереди. Т.е. когда запускается первый поток он начинает выполняться вместе с основным потоком, а 2-ой и все последующий ждут выполнения предыдущего. Почему? Как решить проблему?


I>>Видимо код в студию

во первых пользуемся форматированием

pthread_t thread_id[maxcfr];

for(int j = 0; j < quantity_flash; ++j)
{                     
  if(tfr != -1)
  {
    pthread_create(&thread_id[j], NULL, &functions_pthread, &params);
  }
  else
   flg[j] = false;                              
}

for(int t = 0; t < quantity_flash; ++t)
{
  if(flg[t])                                   
   pthread_join(thread_id[t],(void**) &er_w);
}


во вторых что примерно делает functions_pthread

а в третьих у вас сколько процессоров в системе
и как вы определили то поведение какое описываете в своем вопросе
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.