kel: в результате получается взаимная блокировка при числе потоков >1. Что и понятно, так как в случае одного потока все потоки (то есть 1 с id=0) доходят до барьера и продолжают свои дела. Из теории ответ ясен по первым страницам спецификации openmp (описание barrier).