blocxx
Classes | Namespaces | Defines | Functions

ThreadPool.cpp File Reference

#include "blocxx/BLOCXX_config.h"
#include "blocxx/ThreadPool.hpp"
#include "blocxx/Array.hpp"
#include "blocxx/Thread.hpp"
#include "blocxx/NonRecursiveMutex.hpp"
#include "blocxx/NonRecursiveMutexLock.hpp"
#include "blocxx/Condition.hpp"
#include "blocxx/Format.hpp"
#include "blocxx/Mutex.hpp"
#include "blocxx/MutexLock.hpp"
#include "blocxx/NullLogger.hpp"
#include "blocxx/Timeout.hpp"
#include "blocxx/TimeoutTimer.hpp"
#include "blocxx/GlobalString.hpp"
#include <deque>

Go to the source code of this file.

Classes

class  BLOCXX_NAMESPACE::ThreadPoolImpl

Namespaces

namespace  BLOCXX_NAMESPACE
 

Taken from RFC 1321.


Defines

#define BLOCXX_POOL_LOG_DEBUG(logger, arg)   do { BLOCXX_LOG_DEBUG(logger, m_poolName + ": " + arg); } while (0)
#define BLOCXX_POOL_LOG_DEBUG2(logger, arg)   do { BLOCXX_LOG_DEBUG2(logger, m_poolName + ": " + arg); } while (0)
#define BLOCXX_POOL_LOG_DEBUG3(logger, arg)   do { BLOCXX_LOG_DEBUG3(logger, m_poolName + ": " + arg); } while (0)
#define BLOCXX_POOL_LOG_ERROR(logger, arg)   do { BLOCXX_LOG_ERROR(logger, m_poolName + ": " + arg); } while (0)
#define BLOCXX_POOL_LOG_FATAL_ERROR(logger, arg)   do { BLOCXX_LOG_FATAL_ERROR(logger, m_poolName + ": " + arg); } while (0)

Functions

 BLOCXX_NAMESPACE::BLOCXX_DEFINE_EXCEPTION (ThreadPool)

Define Documentation

#define BLOCXX_POOL_LOG_DEBUG (   logger,
  arg 
)    do { BLOCXX_LOG_DEBUG(logger, m_poolName + ": " + arg); } while (0)

Definition at line 65 of file ThreadPool.cpp.

#define BLOCXX_POOL_LOG_DEBUG2 (   logger,
  arg 
)    do { BLOCXX_LOG_DEBUG2(logger, m_poolName + ": " + arg); } while (0)

Definition at line 66 of file ThreadPool.cpp.

#define BLOCXX_POOL_LOG_DEBUG3 (   logger,
  arg 
)    do { BLOCXX_LOG_DEBUG3(logger, m_poolName + ": " + arg); } while (0)

Definition at line 67 of file ThreadPool.cpp.

#define BLOCXX_POOL_LOG_ERROR (   logger,
  arg 
)    do { BLOCXX_LOG_ERROR(logger, m_poolName + ": " + arg); } while (0)

Definition at line 68 of file ThreadPool.cpp.

#define BLOCXX_POOL_LOG_FATAL_ERROR (   logger,
  arg 
)    do { BLOCXX_LOG_FATAL_ERROR(logger, m_poolName + ": " + arg); } while (0)

Definition at line 69 of file ThreadPool.cpp.


Variable Documentation

RunnableRef m_currentRunnable

Definition at line 127 of file ThreadPool.cpp.

Mutex m_guard
Logger m_logger

Definition at line 348 of file ThreadPool.cpp.

Definition at line 337 of file ThreadPool.cpp.

UInt32 m_maxThreads

Definition at line 684 of file ThreadPool.cpp.

String m_poolName

Definition at line 349 of file ThreadPool.cpp.

std::deque<RunnableRef> m_queue

Definition at line 340 of file ThreadPool.cpp.

Definition at line 341 of file ThreadPool.cpp.

Condition m_queueEmpty

Definition at line 346 of file ThreadPool.cpp.

NonRecursiveMutex m_queueLock

Definition at line 344 of file ThreadPool.cpp.

Condition m_queueNotEmpty

Definition at line 347 of file ThreadPool.cpp.

Condition m_queueNotFull

Definition at line 345 of file ThreadPool.cpp.

bool m_shutdown

Definition at line 342 of file ThreadPool.cpp.

DynamicSizePoolImpl* m_thePool

Definition at line 124 of file ThreadPool.cpp.

Array<ThreadRef> m_threads

Definition at line 339 of file ThreadPool.cpp.

Definition at line 750 of file ThreadPool.cpp.