2 #ifndef _YI_LOAD_THREAD_MANAGER_INL_ 3 #define _YI_LOAD_THREAD_MANAGER_INL_ 56 void Load(std::unique_ptr<IYIRunOnThread> pResource);
69 Stats() : nLoad(0), nUnload(0), nThreadStarted(0),
70 nRemovedUnprocessed(0), nThreadStarved(0), nRegularUnload(0)
75 int nRemovedUnprocessed;
80 void RemoveUnprocessed();
82 virtual void Run()
override;
84 std::list<IYIRunOnThread*> mListLoad;
85 std::list<const IYIRunOnThread *> mListUnload;
87 typedef std::pair<IYIRunOnThread*, CYILoadThread* > pairDataThread;
88 std::list<pairDataThread> mListRunning;
95 std::unique_ptr<CYIThreadManager> m_pThreadManager;
96 std::map<int32_t, CYILoadThread *> m_Threads;
101 #endif // _YI_LOAD_THREAD_MANAGER_INL_ Definition: YiLoadThreadManager.h:16
Definition: YiMutex.h:110
A class that loads data in a pool of threads.
Definition: YiLoadThreadManager.h:37
virtual void DoInWorkerThread()=0
Definition: YiThreadManager.h:43
virtual ~IYIRunOnThread()
Definition: YiLoadThreadManager.h:19
Definition: YiThread.h:86
A class used to block a thread until a condition is met, as signaled by a different thread...
Definition: YiWaitCondition.h:64