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 replaces all atomic directives by enclosing the target statement with a special, named critical construct. This will enforce exclusive access between all atomic regions in the program, whether or not these regions update the same or different storage locations.