What happens if one calls a function in a class that starts a thread which then completes? I assume the thread is gone. Now next time one wants to run the function again, the thread has to be re-created. Will this cause some type of problem or is there something one should do upon thread termination like CloseHandle() or be sure that the thread has (indeed) run to completion?