Использование Appkit Framework в демоне запуска - PullRequest
2 голосов
/ 03 ноября 2011

Я хочу использовать NSWorkspace, чтобы проверить, запущено или закрыто приложение .

Но этот процесс запускается Daemon, и в документации Apple говорится, что он не безопасен для потоков.

Однако та часть кода, которая использует Workspace, не будет выполнена при запуске или во время входа в систему. Это будет выполнено после того, как некоторые команды будут получены от другого приложения через BSD-связь, и процесс является фоновым процессом без UI?

Безопасно ли использовать Appkit framework в этой ситуации? Только NSWorkspace API и никаких других? Альтернативным решением является опрос? Каково ваше предложение?

1 Ответ

1 голос
/ 03 ноября 2011

Как правило, вы можете использовать любой код, который не является потокобезопасным, при условии, что вы выполняете только одну операцию независимо от того, какая операция небезопасна в любой момент времени. Я хотел бы попробовать это и просто знать, что все, что вы делаете, вы не можете делать одновременно, если вам абсолютно необходимо что-то делать одновременно, вы можете попробовать бросить пару @synchronized блоков вокруг кода, либо в обратных вызовах длительный фоновый процесс или делегирование вызовов.

...