Re: pthread_{mutex,cond} & fifo/starvation/scheduling policy
On Thu, 21 Jan 2010, Bernard van Gastel wrote:
> In real world application such a proposed queue would work almost
> always, but I'm trying to exclude all starvation situations primarily
> (speed is less relevant). And although such a worker can execute it
> work and be scheduled fairly, the addition of the work to the queue
> can result in starvation (one of the threads trying to add to the
> queue could stall forever if the lock is heavily contested).
>
> Is this possible with POSIX thread stuff? Or is the only option to use
> IPC like message queues for this?
I don't see what your problem is if you are using mutexes
correctly. Adding or removing work to the queue should be
very quick; you lock the mutex, add or remove work to/from
the queue, signal the condition variable to wake up any
threads waiting for work (when adding work), and unlock the
mutex. That's it.
--
DE
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org"
討論串 (同標題文章)
完整討論串 (本文為第 8 之 10 篇):