Можно ли использовать openmp в конструкторах объектов C++?Использование Openmp в конструкторах объектов C++
Что будет, когда будет глобальный статический объект с таким конструктором?
Можно ли использовать openmp в конструкторах объектов C++?Использование Openmp в конструкторах объектов C++
Что будет, когда будет глобальный статический объект с таким конструктором?
Да. представьте себе, что это то же самое, что вызвать функцию OpenMP от конструктора.
Второй момент, я не знаю, это может зависеть от реализации. Я совершенно уверен, что реализация pthreads должна быть приемлемой для глобальных статических объектов. http://www.terboven.com/download/poster_A0_portrait_neu_formatiert.pdf
Статическая инициализация может быть несколько сложной для правильного, http://www.parashift.com/c++-faq-lite/ctors.html#faq-10.12. Имейте в виду, что статический объект инициализируется до основного.
Когда начнутся потоки openmp? В начале (или начале)? – osgx
@osgx должен быть всякий раз, когда встречается параллельная область. Точная реализация потока зависит от реализации (возможно, многоразовые/одиночные потоки) – Anycorn
Проверено с помощью intel open mp - оно поддерживает такие конструкторы – osgx
Опубликовать код, который иллюстрирует то, что вы (бессвязно) спрашиваете. – 2010-07-28 16:17:31
Да, конструкторы запускают код так же, как и все остальное. – GManNickG
просто для уточнения, вы имеете в виду локальный или глобальный статический? они имеют различный порядок инициализации – Anycorn