1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- #ifndef CERES_INTERNAL_THREAD_TOKEN_PROVIDER_H_
- #define CERES_INTERNAL_THREAD_TOKEN_PROVIDER_H_
- #include "ceres/concurrent_queue.h"
- #include "ceres/internal/config.h"
- #include "ceres/internal/export.h"
- namespace ceres::internal {
- class CERES_NO_EXPORT ThreadTokenProvider {
- public:
- explicit ThreadTokenProvider(int num_threads)
-
-
- int Acquire()
-
- void Release(int thread_id)
- private:
-
-
-
-
-
- ConcurrentQueue<int> pool_
- ThreadTokenProvider(ThreadTokenProvider&) = delete
- ThreadTokenProvider& operator=(ThreadTokenProvider&) = delete
- }
- }
- #endif
|