Switch to using std::thread.
Once a thread exits it's tid should not be equal to current one... that would be weird.