Files
universal-system-monitor/include/cpu.h
2018-12-08 17:01:28 +00:00

38 lines
761 B
C++

#pragma once
#include <vector>
#include <thread>
#include <mutex>
class CPU {
public:
CPU();
std::mutex CPU_Mutex;
int CPU_PREVIOUS_WORK;
int CPU_PREVIOUS_TOTAL;
int CPU_WORK;
int CPU_TOTAL;
int UPDATE_INTERVAL; // s
std::vector<std::vector<int>> CPU_PREVIOUS_CORES_WORK_AND_TOTAL;
std::vector<std::vector<int>> CPU_CORES_WORK_AND_TOTAL;
void START_CPU_POLLING();
static void CPU_POLL(CPU* cpu);
void END_CPU_POLLING();
double CPU_PERCENT(int core);
std::vector<double> CPU_CORE_PERCENT();
unsigned int CPU_HARDWARE_THREADS = std::thread::hardware_concurrency();
virtual ~CPU();
private:
std::thread* m_pollThread;
bool m_isPolling;
};
static CPU* CPU_Instance;