0
我需要在embedded-linux目标上运行多个线程。 其中一个线程需要大量资源,所以我需要它以低优先级在后台运行。 有时候更高优先级的线程将无所事事。一个典型的VALA Thread.create
看起来是这样的:如何指定线程优先级?
Thread.create<void*> (pProcessor->run, true);
是否有指定线程的优先级的方法吗?
我需要在embedded-linux目标上运行多个线程。 其中一个线程需要大量资源,所以我需要它以低优先级在后台运行。 有时候更高优先级的线程将无所事事。一个典型的VALA Thread.create
看起来是这样的:如何指定线程优先级?
Thread.create<void*> (pProcessor->run, true);
是否有指定线程的优先级的方法吗?
你不能在GLib中使用线程化的东西,你将不得不直接使用pthreads。有一些关于如何在C here中做到这一点的信息。您还需要为相关函数创建Vala绑定,因为没有人这样做(这很容易......如果您了解Vala如何映射到C,则只需要几分钟)。
如果我是你,我会考虑使用优先级队列来代替。如果您不想自己编写bump应该已经拥有您需要的所有内容(特别是,Semaphore和/或TaskQueue)或AsyncPriorityQueue,如果您希望在较低级别工作。