【问题标题】:Using Appkit Framework in Launch Daemon在启动守护进程中使用 Appkit 框架
【发布时间】:2011-11-03 10:40:41
【问题描述】:

我想使用 NSWorkspace 检查application is launched or closed

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

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

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

【问题讨论】:

    标签: objective-c macos cocoa launchd nsworkspace


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-21
      • 2018-08-16
      • 2012-01-13
      相关资源
      最近更新 更多