如何指定线程优先级?

时间:2012-09-05 19:56:23

标签: embedded-linux vala

我需要在embedded-linux目标上运行多个线程。 其中一个线程需要大量资源,因此我需要它以低优先级在后台运行。 有时优先级较高的线程无关。典型的vala Thread.create如下所示:

Thread.create<void*> (pProcessor->run, true);

有没有办法指定线程优先级?

1 个答案:

答案 0 :(得分:1)

您无法在GLib中使用线程内容,您必须直接使用pthreads。有关如何在C here中执行此操作的信息。您还需要为相关函数创建Vala绑定,因为还没有人这样做(这很简单......如果您了解Vala如何映射到C,它只需要几分钟)。

如果我是你,我会考虑使用优先级队列。如果你不想写自己的bump应该已经拥有你需要的一切(具体来说,Semaphore和/或TaskQueue),或AsyncPriorityQueue,如果你愿意的话我喜欢在较低的水平工作。