In system firmware, we are using the std::thread, std::mutex etc. which are then mapped to the HAL layer. I’m contemplating making this available to the application so that developers have a familiar and well-understood API complete with reference docs. A detracting factor is that this isn’t as friendly as a typical Wiring API, but then multi-threaded programming with mutexes isn’t in the beginners realm.
Mutexes can be tricky to get right - a simpler approach is to use channels.