| Version 2 (modified by jano.simas, 10 years ago) (diff) |
|---|
Service
A classe Service serve como classe base para a construção dos serviços.
Ela constrola uma pool de threads e uma fila de processos que devem ser executados e ser responsabiliza por alocar os processos nas threads.
Classes derivadas
As classes derivadas devem reimplementar os métodos:
virtual bool mainLoopWaitCondition();
Verifica se existe algum processo na fila ou se o serviço deve ser finalizado.
virtual bool checkNextData();
Aloca o próximo serviço da fila e retorna se ainda existe algum serviço na fila.
virtual void updateNumberOfThreads(int);
Atualiza o número de threads disponíveis.
Além disso as classes derivadas devem ser capazes de "ouvir" os sinais do DataManager e implementar um sistema de adicionar novos processos na fila:
std::queue<std::packaged_task<void()> > taskQueue_;
