pthreads :: PoolThread :: defaultinit
# A Thread running in a threadpool
private class PoolThread
super Thread
var queue: ConcurrentList[Task]
var mutex: Mutex
var cond : NativePthreadCond
redef fun main do
loop
var t = null
mutex.lock
if queue.is_empty then cond.wait(mutex.native.as(not null))
if not queue.is_empty then
t = queue.shift
end
mutex.unlock
if t != null then
t.main
t.after_main
end
end
end
end
lib/pthreads/threadpool.nit:56,1--79,3