Ticket #9 (closed todo: done)

Opened 3 years ago

Last modified 21 months ago

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:1 Changed 3 years ago by ct

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.

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

comment:7 Changed 21 months ago by ct

  • Status changed from assigned to closed
  • Resolution set to done

thread pools are basically working, some things left to be done later. But for now i close this ticket. Better create single tickets for each additional thing to do.

Note: See TracTickets for help on using tickets.