2

我想使用 NSWorkspace 来检查应用程序是启动还是关闭

但是这个过程是 Launch Daemon 并且 Apple 文档说它不是线程安全的。

但是,使用 Workspace 的部分代码不会在启动或登录时执行。它会在通过 BSD 通信从其他应用程序接收到一些命令后执行,并且进程是没有 UI 的后台进程?

在这种情况下使用 Appkit 框架是否安全?只有 NSWorkspace API 而没有其他?另一种解决方案是轮询?你的建议是什么?

4

1 回答 1

1

通常,您可以使用任何非线程安全的代码,只要您在任何给定时间只执行 unthreadafe 操作的一项操作即可。我会继续尝试它,只是要知道,无论你在做什么,你都不能同时做,如果你绝对需要同时做一些事情,你可以尝试在代码周围抛出几个 @synchronized 块,或者在回调中长时间运行的后台进程或委托调用。

于 2011-11-03T13:44:54.263 回答