【问题标题】:How to specify thread priority?如何指定线程优先级?
【发布时间】:2012-09-05 19:56:22
【问题描述】:

我需要在嵌入式 Linux 目标上运行多个线程。 其中一个线程需要大量资源,因此我需要它以低优先级在后台运行。 有时更高优先级的线程将无事可做。典型的 vala Thread.create 如下所示:

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

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

【问题讨论】:

    标签: embedded-linux vala


    【解决方案1】:

    你不能使用 GLib 中的线程,你必须直接使用 pthreads。在 C here 中有一些关于如何做到这一点的信息。您还需要为相关函数创建 Vala 绑定,因为尚未有人这样做(这很容易......如果您了解 Vala 如何映射到 C 只需要几分钟)。

    如果我是你,我会考虑使用优先级队列。如果您不想编写自己的 bump 应该已经拥有您需要的一切(特别是 Semaphore 和/或 TaskQueue),或者如果您希望在较低级别工作,则 AsyncPriorityQueue

    【讨论】:

      猜你喜欢
      • 2010-09-22
      • 2011-06-25
      • 1970-01-01
      • 2012-11-17
      • 2016-06-03
      • 1970-01-01
      • 1970-01-01
      • 2014-11-26
      • 2021-10-18
      相关资源
      最近更新 更多