Форум вопросов и ответов

Форум вопросов и ответов (https://www.otvetnemail.ru/)
-   Продолжение старого архива (https://www.otvetnemail.ru/prodolzhenie-starogo-arhiva-804/)
-   -   Параллельные вычисления (грабли) (https://www.otvetnemail.ru/prodolzhenie-starogo-arhiva-804/parallel-nye-vychisleniya-grabli-365068/)

Guest 01.10.2011 03:03

Параллельные вычисления (грабли)
 
Добрый деньКод:void MainCalc( CalcParam & theParam )#pragma omp parallel for // это считаем параллельноfor (i = 0; i < num; ++i) DoCalc(theParam); MonoCalc(theParam); // а это в главной нитке}void DoCalc( CalcParam & theParam ){..... // расчетыLOCK; // берем лок CalcParam temp = theParam; // делаем копию theParamSetupParam(&theParam); // изменяем theParamUNLOCK; // вынуждены снять локDoCalc(theParam); // ушли в рекурсLOCK; // берем локtheParam = temp; // восстановили theParamUNLOCK; // сняли лок }Ну наверное увидеть ошибку не составит труда


Часовой пояс GMT, время: 17:19.


© www.otvetnemail.ru - Форум вопросов и ответов.