A simple abstraction for starting threads.
Start a new thread that executes the supplied function.
This constructor creates a new thread that will execute the given function or function object.
fThe function or function object to be run in the thread. The function signature must be:
Wait for the thread to exit.
If this function is not called before the thread object is destroyed, the thread itself will continue to run until completion. You will, however, no longer have the ability to wait for it to exit.