# Master (OpenMP) **Master** is an OpenMP directive that restricts execution of a block to thread 0. Unlike [[single-openmp|single]], there is no implicit barrier. Other threads skip the block entirely and continue immediately, making it suitable for non-critical side effects like printing progress or updating a log counter where stalling the whole team would be wasteful. ```c #pragma omp parallel { do_work(); #pragma omp master printf("iteration %d done\n", iter); // thread 0 only; no barrier do_more_work(); // all threads, including thread 0, continue here } ``` Use `single` when the rest of the team must wait for the result; use `master` when the block is incidental and the team should not be held up.