Is there a way to determine if a thread is still running? I cannot use std::future and std::async for several reasons.
I thought of some kind of join with timeout, e.g. try to join a thread for 3 seconds, if it succeeds, the thread is considered finished, otherwise it is considered running.