我可以更改 XPC 服务的服务质量级别吗?

问题描述

我希望在我的应用中放置一个 xpc 服务,它需要立即处理用户输入(它从一个单独的进程接收)。

QOS 状态的 documentation

xpc 服务中,主线程以认的 QoS 运行

我需要能够将 xpc 服务线程设置为具有 user-interactive 的 QoS 以确保用户输入事件发生。

是否可以更改 xpc 服务线程的 QoS?

我知道我可以创建一个守护进程并使用如下方法设置任务策略:

struct task_qos_policy qosinfo;

memset(&qosinfo,sizeof(qosinfo));
qosinfo.task_latency_qos_tier = LATENCY_QOS_TIER_0;
qosinfo.task_throughput_qos_tier = THROUGHPUT_QOS_TIER_0;

task_policy_set(mach_task_self(),TASK_BASE_QOS_POLICY,&qosinfo,TASK_QOS_POLICY_COUNT);

xpc 服务的主要方法中做这样的事情是否是实现这一目标的一种可能且适当的方式?

我当然可以创建一个守护进程,但我目前正在研究如何让我的架构与沙盒一起工作,以便我可以通过 Mac App Store 进行分发。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...