如何指定线程优先级?
Posted
技术标签:
【中文标题】如何指定线程优先级?【英文标题】:How to specify thread priority? 【发布时间】:2012-09-05 19:56:22 【问题描述】:我需要在嵌入式 Linux 目标上运行多个线程。
其中一个线程需要大量资源,因此我需要它以低优先级在后台运行。
有时更高优先级的线程将无事可做。典型的 vala Thread.create
如下所示:
Thread.create<void*> (pProcessor->run, true);
有没有办法指定线程优先级?
【问题讨论】:
【参考方案1】:你不能使用 GLib 中的线程,你必须直接使用 pthreads。在 C here 中有一些关于如何做到这一点的信息。您还需要为相关函数创建 Vala 绑定,因为尚未有人这样做(这很容易......如果您了解 Vala 如何映射到 C 只需要几分钟)。
如果我是你,我会考虑使用优先级队列。如果您不想编写自己的 bump 应该已经拥有您需要的一切(特别是 Semaphore 和/或 TaskQueue),或者如果您希望在较低级别工作,则 AsyncPriorityQueue。
【讨论】:
以上是关于如何指定线程优先级?的主要内容,如果未能解决你的问题,请参考以下文章