Здравствуйте, okman, Вы писали:
O>Если этого не сделать, вызов spawnThread O>может быть перемещен, например, в начало функции, до заполнения globalMap данными. O>Конкретно для данного примера это выглядит маловероятным, но его легко упростить, сведя к O>тому самому "клиническому случаю".
Если мне склероз не изменяет, раздел стандарта "1.9 Program execution" запрещает такие клинические случаи. Какие бы оптимизации не применялись, куда бы вызов spawnThread не был помещен, результат должен быть таким же, как если бы все операторы выполнялись последовательно.