У меня есть приложение, которое я пытаюсь сделать многопоточным. Каждый поток получает доступ к большому фрагменту данных только для чтения.
Это нормально, если несколько потоков одновременно обрабатывают данные? Я знаю, что если данные не были доступны только для чтения, мне нужно было бы использовать мьютексы или какую-то другую форму синхронизации для предотвращения условий гонки. Но мне интересно, нормально ли читать данные без учета синхронизации.
Данные, о которых идет речь, не будут изменены в течение всех потоков. Приложение будет работать в Linux и Windows и написано на С++, если это имеет значение.