#pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace iflytop { namespace core { using namespace std; class Singal { atomic signalNum = {0}; pthread_mutex_t m_mutex = PTHREAD_MUTEX_INITIALIZER; pthread_cond_t m_cond; pthread_condattr_t m_attr; public: Singal(); bool sleep_for_us(int64_t us); bool sleep(); void notify(); }; } // namespace core } // namespace iflytop