#pragma once #if IL2CPP_THREADS_STD #include "os/ErrorCodes.h" #include "os/Thread.h" #include "os/WaitStatus.h" #include "utils/NonCopyable.h" #include namespace il2cpp { namespace os { class ThreadImpl : public il2cpp::utils::NonCopyable { public: ThreadImpl(); ~ThreadImpl(); uint64_t Id(); ErrorCode Run(Thread::StartFunc func, void* arg); WaitStatus Join(); WaitStatus Join(uint32_t ms); static WaitStatus Sleep(uint32_t milliseconds); static uint64_t CurrentThreadId(); private: std::thread m_Thread; }; } } #endif