Вызов инициализатора Realm
на самом деле не создает новую базу данных, он просто создает новую ссылку на существующую базу данных Realm в местоположении, указанном в RealmConfiguration
, используемом в инициализаторе Realm
.Это означает, что в общем случае, когда база данных открыта, создание новой ссылки на нее с помощью вызова Realm()
или Realm(configuration: config)
не требует больших затрат в вычислительном отношении.Таким образом, в общем случае часто бывает более целесообразно создавать новую ссылку на свое Царство при переключении между потоками.
Конечно, чтобы точно знать, какой способ является более оптимальным для вашего конкретного варианта использования, вы 'На самом деле вам понадобится запускать тесты на реальном устройстве, но если вы не часто переключаетесь между потоками (скажем, несколько раз за одну секунду), вам будет хорошо с созданием новой ссылки на Realm в обоих потоках после переключения междуих.