Is it me, or are semaphores overrated? There seems to be so much emphasis on semaphores in textbooks & guides. Thread pools are just a footnote (if mentioned at all). They did mention them in the article, at the bottom..
Yet in the real world, it's thread pools that are the go to when you need to control the number of active threads. Can't think of any instances where semaphores would be a better choice over thread pools.
Also, I wish I knew how important a role CPU cache plays in performance. Another aspect which seems to be downplayed in academia.