与这些东西相关的 API 相当复杂,而且文档很少,但这是我发现的。
首先,与 RR 调度相关的数据类型似乎位于/usr/include/mach/policy.h
第 155 行左右。有这样的结构:
struct policy_rr_info {
...
integer_t quantum;
....
};
Run Code Online (Sandbox Code Playgroud)
我认为,这quantum
是时间片(不确定单位)。然后,在同一位置查找此或相关类型定义的相关类型,我找到了该文件,该文件表示该类型在第 203 行包含一个字段。/usr/include/mach/mach_types.def
struct thread_policy_t
policy_rr_info_t
接下来,我在/usr/include/mach/thread_act.h
public 函数中发现thread_policy_get
,它可以将有关线程策略的信息检索到struct thread_policy_t *
.
所以,向后工作。我认为(但根本没有尝试过)你可以
thread_policy_get()
例程将有关线程调度状态的信息返回到thread_policy_t
policy_rr_info_t
子结构quantum
字段。这部分 API 没有手册页,但此 Apple 开发人员页面至少解释了一些有关如何使用此 API 的信息。
请注意,这都是通过 grep 各种内核标头收集到的,而且我绝对没有尝试在任何实际代码中使用任何这些 API。
归档时间: |
|
查看次数: |
873 次 |
最近记录: |