Здравствуйте, gandjustas, Вы писали:
G>Да, стандартные смартпоинтеры потокобезопасны, как утверждает МСДН.
Это дополнительные тормоза куда большие чем от GC, вообще-то.
G>От состояния гонок в коде приложения ни смартпоинтеры, ни GC не спасает.
Ну, кое что придумать можно. Достаточно выделять память для разных потоков в разных пулах GC и запретить использование объектов созданных в одном потоке из другого. Для общения между потоками нужно использовать специальный обменный пул GC, а объекты помещать в очереди потоков. Короче, модель акторов с отдельным обменным хипом, как в Сингулярити.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.