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,如果您希望在較低級別工作。