Пусть у меня есть две функции:.Как явным образом выполняю задачи?
Fun1();
Fun2();
Эти функции независимы и задача была бы улучшена, если бы я мог запустить их параллельно (то есть, запустить Fun1
на одну нить и Fun2
на другой, я использую Визуальное Studio 2012 -.? так Open MP 2,0
есть прямо вперед пути (без параллельной области резьбы тестирования номера или для контура dodginess) для достижения этой цели Предусматривает ли OpenMP этого вида функциональности?
Я пытался смотреть на директивах parallel
и task
как место, чтобы начать, но я считаю, большая часть литературы тщательно incomprehensible и не смогли найти каких-либо примеров ...
Важная информация, которую нужно знать, если у вас действительно есть только две такие функции, которые вы вызываете только один раз (или, может быть, несколько раз). Если это так просто, использование 'std :: thread', как в ответе Джона Звинка, безусловно, является самым простым и эффективным решением. Если у вас есть дюжина функций, которые вы называете тысячу раз, решение Massimiliano было бы намного предпочтительнее (или, альтернативно, реализовать свою собственную очередь задач). – Damon