RKNNManager.h 611 B

1234567891011121314151617181920212223242526272829303132333435
  1. #ifndef RKNNMANAGER_H
  2. #define RKNNMANAGER_H
  3. #include <thread>
  4. #include <vector>
  5. class RKNNManager
  6. {
  7. public:
  8. static RKNNManager &getInstance()
  9. {
  10. static RKNNManager instance;
  11. return instance;
  12. }
  13. RKNNManager(const RKNNManager &) = delete;
  14. RKNNManager &operator=(const RKNNManager &) = delete;
  15. void addRknnTask(std::string modelData);
  16. private:
  17. RKNNManager() = default;
  18. ~RKNNManager();
  19. void taskThread(std::string modelData);
  20. private:
  21. std::vector<std::thread> m_threads;
  22. // thread switch
  23. bool m_threadSwitch{false};
  24. };
  25. #endif // RKNNMANAGER_H