AWS SDK for C++  1.9.160
AWS SDK for C++
ThreadTask.h
Go to the documentation of this file.
1 
6 #pragma once
7 
9 #include <functional>
10 #include <thread>
11 #include <atomic>
12 
13 namespace Aws
14 {
15  namespace Utils
16  {
17  namespace Threading
18  {
19  class PooledThreadExecutor;
20 
22  {
23  public:
26 
31  ThreadTask(const ThreadTask&) = delete;
32  ThreadTask& operator =(const ThreadTask&) = delete;
33  ThreadTask(ThreadTask&&) = delete;
34  ThreadTask& operator =(ThreadTask&&) = delete;
35 
37 
38  protected:
40 
41  private:
42  std::atomic<bool> m_continue;
43  PooledThreadExecutor& m_executor;
44  std::thread m_thread;
45  };
46  }
47  }
48 }
AWS_CORE_API
#define AWS_CORE_API
Definition: Core_EXPORTS.h:25
Aws::Utils::Threading::ThreadTask::StopProcessingWork
void StopProcessingWork()
Aws::Utils::Threading::ThreadTask::~ThreadTask
~ThreadTask()
Aws::Utils::Threading::ThreadTask::MainTaskRunner
void MainTaskRunner()
Aws::Utils::Threading::ThreadTask::ThreadTask
ThreadTask(ThreadTask &&)=delete
Aws::Utils::Threading::PooledThreadExecutor
Definition: Executor.h:82
Aws::Utils::Threading::ThreadTask::ThreadTask
ThreadTask(PooledThreadExecutor &executor)
Core_EXPORTS.h
Aws::Utils::Threading::ThreadTask::ThreadTask
ThreadTask(const ThreadTask &)=delete
Aws
Definition: AccessManagementClient.h:15
Aws::Utils::Threading::ThreadTask
Definition: ThreadTask.h:22