Hey Guys,
Recently, I am looking for an efficient and lightweight threadpool library to learn and play with. I haven't implemented one myself yet, but I guess the critical part is kinda of concurrent job queue (right?). And since I have a little experience with concurrent data structure I only prefer lockless ones with atomic with memory barrier, so I was expecting to find some threadpool implementations which are not using heavy lock (like mutex).... However, after a while I found almost all light-weight threadpool are using std::condition_variable which need mutex....
So I wish to know whether you guys know some efficient lightweight threadpool implementation.
Also it will be great if someone could talk about the tricky part of implementing threadpool without using heavy lock.
Thanks
P.S. I remember there was a famous talk about 'fiber' which is a totally different small thread library get used in one game engine. Anyone know any good resource about it?