有没有办法在 Glib v2.32+ 中设置线程优先级?

Shn*_*sel 4 linux multithreading cross-platform multiplatform glib

Glib 2.30 API允许通过GThreadPriority枚举设置线程优先级。然而,该 API从 2.32 开始已被弃用,我找不到任何有关使用新 API 设置线程优先级的信息。我按 Ctrl+F 浏览了API 参考中所有与线程相关的部分,但没有发现任何与优先级相关的内容。谷歌似乎也不知道任何事情。

那么在 2.32 API 中是否可以为线程分配优先级呢?如果是,如何在创建时执行此操作?是否可以在创建线程后更改它?我知道 pthread 支持所有这些,但我更愿意坚持使用独立于平台的 Glib API。

小智 5

设置线程优先级已经消失了。在 glib git 日志中,这个提交解释了原因

GThread:弃用线程优先级

线程优先级已被记录为在 Solaris 上不起作用,并且它们在 Linux 上毫无意义,除非进程单独请求实时调度(即使如此,它似乎也只能以 root 身份工作)。

也许使用线程池就g_thread_pool_set_sort_function ()可以了?