1 #ifndef BENCHMARK_THREAD_MANAGER_H
2 #define BENCHMARK_THREAD_MANAGER_H
6 #include "benchmark/benchmark.h"
14 explicit ThreadManager(
int num_threads) : start_stop_barrier_(num_threads) {}
16 Mutex& GetBenchmarkMutex()
const RETURN_CAPABILITY(benchmark_mutex_) {
17 return benchmark_mutex_;
20 bool StartStopBarrier() {
return start_stop_barrier_.wait(); }
22 void NotifyThreadComplete() { start_stop_barrier_.removeThread(); }
25 IterationCount iterations = 0;
26 double real_time_used = 0;
27 double cpu_time_used = 0;
28 double manual_time_used = 0;
29 int64_t complexity_n = 0;
30 std::string report_label_;
31 std::string skip_message_;
32 internal::Skipped skipped_ = internal::NotSkipped;
33 UserCounters counters;
35 GUARDED_BY(GetBenchmarkMutex())
Result results;
38 mutable Mutex benchmark_mutex_;
Definition: thread_manager.h:12
Definition: thread_manager.h:24