У меня немного более общий вопрос о распараллеливании и синхронизации потоков в больших приложенияхЯ работаю над приложением с большим количеством типов объектов с глубокой архитектурой, которая также использует распараллеливание большинства ключевых задач.В настоящее время синхронизация осуществляется с помощью управления блокировкой потоков внутри каждого объекта системы.Проблема заключается в том, что область блокировки равна размеру каждого объекта, в то время как атрибуты объекта передаются через множество различных объектов, атрибуты которых теряют защиту от синхронизации.
Что является наилучшей практикой в управлении потоками 'контексты синхронизации '& c.в больших приложениях?Кажется, единственное надежное решение - сделать приложение синхронизации данных таким широким, чтобы данные могли безопасно использоваться любым объектом в любое время, но это, кажется, нарушает концепции объектно-ориентированного кодирования.
Как лучше всего решить эту проблему?