thread() noexcept;
template<class F, class... Args> explicit thread(F&& f, Args&&... args);
invoke(decay-copy(std::forward<F>(f)), decay-copy(std::forward<Args>(args))...)with the calls to decay-copy being evaluated in the constructing thread.
thread(thread&& x) noexcept;