Одна из стратегий, которые я использую, состоит в том, чтобы моделировать чередование потоков, вводя ожидания вращения.Предостережение заключается в том, что вам не следует использовать стандартные механизмы ожидания вращения для вашей платформы, поскольку они, вероятно, будут создавать барьеры памяти.Если проблема, которую вы пытаетесь устранить, вызвана отсутствием барьера памяти (поскольку при использовании стратегий без блокировок трудно исправить барьеры), то стандартные механизмы ожидания вращения будут просто маскировать проблему.Вместо этого поместите пустой цикл в точки, где вы хотите, чтобы ваш код на мгновение остановился.Это может увеличить вероятность воспроизведения ошибки параллелизма, но это не волшебная пуля.