Как я могу "Hibernate" приложение? - PullRequest
1 голос
/ 11 ноября 2010

Скажем, у меня есть сложное приложение, которое делает разные вещи, например, вызывает окно, загружает некоторые ресурсы, обрабатывает виртуальный мир, переходит в OpenGL и т. д.

Могу ли я перевести его в спящий режим, т.е. сохранить его текущее состояние памяти и возобновить его позднее по желанию безопасным способом?

Если быть в безопасности, пользователю придется ограничить некоторые функциональные возможности, пока он не возобновится, и все будет в порядке.

Ответы [ 3 ]

0 голосов
/ 11 ноября 2010

Это действительно зависит от того, что для вас спячка. Если это должно быть функцией перезагрузки вашей машины, и ваша программа достаточно сложна, посмотрите на виртуальную машину как на контейнер вашей программы. Затем используйте функцию гибернации гостевой операционной системы.

Если это не то, что вы хотите, и вам не нужно сохранять состояние при загрузке, просто остановите вашу программу. В linux, например, вы можете затем удалить всю память, необходимую вашей программе для подкачки. (Я думаю, это должно быть возможно и на других ОС)

0 голосов
/ 11 ноября 2010

Если вы можете сохранять / возобновлять игры, почему не бизнес-приложения?Вам просто нужно создать процесс для записи состояния приложения на диск ... затем загрузить это состояние с диска - Убедиться, что между до и после ничего нет.

Насколько это действительно сложно, зависит от многихвещей - удаленные соединения, состояния БД, многопользовательские среды и т.д ...

0 голосов
/ 11 ноября 2010

См. Как "спячить" процесс в Linux, сохранив его память на диске и восстановив его позже? для конкретной версии вашего вопроса (и ответов!) Для Linux *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...