I would like to know how System.Threading.Thread works in the CLR. I guess threads in the CLR are “lightweight”, meaning they are mapped many-to-one to kernel threads… but who schedules these threads? When I create a thread, does it always create a corresponding “kernel” thread unless number of threads is larger than the number of physical cores? Does it try to schedule these threads on the available cores? Any info/sources are greatly appreciated.
I would like to know how System.Threading.Thread works in the CLR. I guess threads
Share
You could check SSCLI. It is CLR 2.0 publicly available sources in C++ aka ROTOR project. It is the only place that will reveal the truth 🙂
UPD: in comments there’re clues where to find actual thing in the ROTOR if someone is interested 😉