Do not join a thread that has been previously detached
Ensure that threads are joined or detached before terminating an application
Thread function arguments are always passed by value