jacknad
jacknad

Reputation: 13739

How to specify thread priority?

I need to run multiple threads on an embedded-linux target. One of the threads requires a lot of resources so I need it to run in background at a low priority. There will be times when the higher priority threads will have nothing to do. A typical vala Thread.create looks like this:

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

Is there a way to specify the thread priority?

Upvotes: 1

Views: 600

Answers (1)

nemequ
nemequ

Reputation: 17492

You can't use the threading stuff in GLib, you would have to use pthreads directly. There is some information on how to do that in C here. You would also need to create Vala bindings for the relevant functions since nobody has done so yet (it's pretty easy... if you understand how Vala maps to C it would only take a couple minutes).

If I were you I would look into using a priority queue instead. If you don't feel like writing your own bump should already have everything you need (specifically, Semaphore and/or TaskQueue), or AsyncPriorityQueue if you would prefer to work at a lower level.

Upvotes: 1

Related Questions