SourceXtractorPlusPlus 1.0.3
SourceXtractor++, the next generation SExtractor
Loading...
Searching...
No Matches
MultithreadedMeasurement.h
Go to the documentation of this file.
1
17/*
18 * Multithreadedmeasurement.h
19 *
20 * Created on: May 17, 2018
21 * Author: mschefer
22 */
23
24#ifndef _SEIMPLEMENTATION_OUTPUT_MULTITHREADEDMEASUREMENT_H_
25#define _SEIMPLEMENTATION_OUTPUT_MULTITHREADEDMEASUREMENT_H_
26
27#include <atomic>
28#include <thread>
29#include <mutex>
30#include <condition_variable>
31#include <atomic>
32#include "AlexandriaKernel/ThreadPool.h"
33#include "AlexandriaKernel/Semaphore.h"
35
36namespace SourceXtractor {
37
74
75}
76
77#endif /* _SEIMPLEMENTATION_OUTPUT_MULTITHREADEDMEASUREMENT_H_ */
std::function< Euclid::Table::Row(const SourceInterface &)> SourceToRowConverter
std::shared_ptr< Euclid::ThreadPool > m_thread_pool
void receiveSource(std::unique_ptr< SourceGroupInterface > source_group) override
MultithreadedMeasurement(SourceToRowConverter source_to_row, const std::shared_ptr< Euclid::ThreadPool > &thread_pool, unsigned max_queue_size)
std::list< std::pair< int, std::unique_ptr< SourceGroupInterface > > > m_output_queue
void receiveProcessSignal(const ProcessSourcesEvent &event) override
static void outputThreadStatic(MultithreadedMeasurement *measurement)
The SourceInterface is an abstract "source" that has properties attached to it.
Event received by SourceGrouping to request the processing of some of the Sources stored.