Ticket #9 (closed todo: done)
thread pool
| Reported by: | ct | Owned by: | plouj |
|---|---|---|---|
| Priority: | normal | Milestone: | 0integration |
| Component: | lumieraBack | Keywords: | thread backend |
| Cc: | Blocked By: | ||
| Blocking: |
Description
Implement a thread pool where threads are readily available to pick up
work from the scheduler. Threads need to be created whenever requested
and it need to be watched that there are generally no more *running*
threads than some config setting (number of cores?). Since threads can
sleep there may be more threads. When the thread pool fills up it should
be generously garbage collected etc.
Change History
comment:2 Changed 3 years ago by ichthyo
- Owner set to ct
- Priority set to normal
- Component changed from lumiera to lumieraBack
- Summary changed from BACKEND thread pool to thread pool
reorganising core component tickets
comment:3 follow-up: ↓ 4 Changed 3 years ago by jyakovlev
If nobody works on this ticket now, I wanna to take it. :)
comment:4 in reply to: ↑ 3 Changed 3 years ago by ct
Replying to jyakovlev:
If nobody works on this ticket now, I wanna to take it. :)
This prolly needs some acknowledgement about the plans, but otherwise it would be fine when you work on it.
comment:5 Changed 3 years ago by jyakovlev
- Owner changed from ct to jyakovlev
- Status changed from new to accepted
comment:6 Changed 2 years ago by plouj
- Owner changed from jyakovlev to plouj
- Status changed from accepted to assigned
I'm assigning this to myself since jyakovlev has been idle and I've started work on it in my repo: http://git.lumiera.org/gitweb?p=lumiera/plouj;a=summary

A basic but functional threads implementation is already working.
No pooling so far and most features are ignored. There is a ongoing
discussion if we need a join() functionality, I can add that on demand.
There is no thread pooling yet, each thread_run() creates a new
thread. But pooling will be only a (huge) performance optimization.