The structured blocks in the sections construct are assigned to the threads in the team in a static with no chunk size fashion, so that each thread gets an approximately equal number of consecutive structured blocks.
The first thread to encounter the single construct will execute the construct.
The implementation handles all atomic directives by enclosing the target statement or structured block with a special, named critical construct. This operation enforces exclusive access between all atomic regions in the program, regardless of whether these regions update the same or different memory locations.