You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

33 lines
633 B

5 months ago
5 months ago
5 months ago
  1. #pragma once
  2. #include <atomic>
  3. #include <chrono>
  4. #include <condition_variable>
  5. #include <fstream>
  6. #include <functional>
  7. #include <iostream>
  8. #include <list>
  9. #include <map>
  10. #include <memory>
  11. #include <mutex>
  12. #include <set>
  13. #include <sstream>
  14. #include <string>
  15. #include <vector>
  16. namespace iflytop {
  17. namespace core {
  18. using namespace std;
  19. class Singal {
  20. atomic<int> signalNum = {0};
  21. pthread_mutex_t m_mutex = PTHREAD_MUTEX_INITIALIZER;
  22. pthread_cond_t m_cond;
  23. pthread_condattr_t m_attr;
  24. public:
  25. Singal();
  26. bool sleep_for_us(int64_t us);
  27. bool sleep();
  28. void notify();
  29. };
  30. } // namespace core
  31. } // namespace iflytop