1 // Copyright (C) 2018-2019 Intel Corporation
2 // SPDX-License-Identifier: Apache-2.0
11 namespace InferenceEngine {
13 class INFERENCE_ENGINE_API_CLASS(ITaskExecutor) {
15 typedef std::shared_ptr<ITaskExecutor> Ptr;
17 virtual ~ITaskExecutor() = default;
20 * @brief Add task for execution and notify working thread about new task to start.
21 * @note can be called from multiple threads - tasks will be added to the queue and executed one-by-one in FIFO mode.
22 * @param task - shared pointer to the task to start
23 * @return true if succeed to add task, otherwise - false
25 virtual bool startTask(Task::Ptr task) = 0;
28 } // namespace InferenceEngine