Существует ли способ совместно использовать Базовое Хранилище данных между процессами?

Вы думаете об этом как об отдельной вещи. Если они сделали несколько разных вещей, которые экономят пропускную способность, то все это складывается. Каждый из них может быть незначительным сам по себе, но если у них есть 5 или 10 оптимизаций, то в целом это важно.

Кроме того, эти десять байтов могут значительно уменьшить размер данных, достаточный для того, чтобы он занимал один меньший пакет TCP / IP, что будет иметь значительно более высокую экономию, чем простое уменьшение размера одного.

6
задан John Gallagher 7 November 2009 в 02:50
поделиться

3 ответа

Это может быть одна из тех ситуаций, в которых вам просто нужно попробовать и увидеть ™.

Насколько я помню, SQLite (это хранилище данных, которое вы скорее всего захочу использовать) имеет встроенные механизмы блокировки файлов и так далее; так что целостность файла, вероятно, будет гарантирована. Если, с другой стороны, вы используете подход CoreData / XML, вы можете столкнуться с проблемами.

Другими словами; используйте поддержку SQLite для своего файла, и все будет в порядке.

2
ответ дан 17 December 2019 в 00:11
поделиться

Вы можете делать именно то, что хотите, вы, вероятно, захотите использовать хранилище SQLite, иначе сохранение и фиксация данных каждый раз, когда вы хотите синхронизировать данные, будут ужасно медленными. Вам просто нужно использовать своего рода дверной звонок IPC между приложениями, чтобы вы могли сообщить одному приложению, что ему необходимо перепроверить постоянное хранилище на диске и объединить его данные.

Apple документирует использование нескольких постоянных кориндаторов хранилища в качестве допустимого варианта в Многопоточность с базовыми данными (в «Общие рекомендации», откройте 2). Это касается полностью параллельных стеков компакт-дисков в одном процессе, но это действительно так, если они также находятся в совершенно разных адресных пространствах.

2
ответ дан 17 December 2019 в 00:11
поделиться

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

1
ответ дан 17 December 2019 в 00:11
поделиться