While it would be straight forward from an implementation POV to just expose both variants on the API (as the C++ standard does), it seems prudent to enforce the distinction, and to highlight the auto-detaching behaviour as the preferred standard case. Creating worker threads just for one computation and joining the results seemed like a good idea 30 years ago; today we prefer Futures or asynchronous messaging to achieve similar results in a robust and performant way. ThreadJoinable can come in handy however for writing unit tests, were the controlling master thread has to wait prior to perform verification. So the old design seems well advised in this respect and will be retained |
||
|---|---|---|
| .. | ||
| application | ||
| steam | ||
| vault | ||
| DIR_INFO | ||