Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members Related Pages

# ACE_Thread_Strategy Class Template Reference

Defines the interface for specifying a concurrency strategy for a <SVC_HANDLER> based on multithreading. More...

`#include <Strategies_T.h>`

Inheritance diagram for ACE_Thread_Strategy

[legend]
Collaboration diagram for ACE_Thread_Strategy:

[legend]
List of all members.

## Public Methods
| ACE_Thread_Strategy (int flags = 0)
| "Do-nothing constructor".
| ACE_Thread_Strategy (ACE_Thread_Manager *tm, long thr_flags, size_t n_threads = 1, int flags = 0)
| Initialize the strategy.
virtual int | open (ACE_Thread_Manager *tm, long thr_flags, size_t n_threads = 1, int flags = 0)
| Initialize the strategy.
virtual | ~ACE_Thread_Strategy (void)
virtual int | activate_svc_handler (SVC_HANDLER *svc_handler, void *arg = 0)
void | dump (void) const
| Dump the state of an object.
## Public Attributes
| ACE_ALLOC_HOOK_DECLARE
| Declare the dynamic allocation hooks.
## Protected Types
typedef ACE_Concurrency_Strategy< SVC_HANDLER> | inherited
## Protected Attributes
ACE_Thread_Manager* | thr_mgr_
| Thread manager for this class (must be provided).
long | thr_flags_
| Flags to pass into the <SVC_HANDLER::activate> method.
size_t | n_threads_
| Number of threads to spawn.

## Detailed Description

### template<class SVC_HANDLER> template class ACE_Thread_Strategy

Defines the interface for specifying a concurrency strategy for a <SVC_HANDLER> based on multithreading.

This class provides a strategy that manages the creation of threads to handle requests from clients concurrently. It behaves as a "thread factory", spawning threads "on-demand" to run the service specified by a user-supplied <SVC_HANDLER>.

## Member Typedef Documentation

template<classSVC_HANDLER>
typedef ACE_Concurrency_Strategy<SVC_HANDLER> ACE_Thread_Strategy<SVC_HANDLER>::inherited`[protected]`

## Constructor & Destructor Documentation

template<classSVC_HANDLER>
ASYS_INLINE ACE_Thread_Strategy< SVC_HANDLER >::ACE_Thread_Strategy<SVC_HANDLER> ( | int flags = 0 )

| "Do-nothing constructor".

template<classSVC_HANDLER>
ASYS_INLINE ACE_Thread_Strategy< SVC_HANDLER >::ACE_Thread_Strategy<SVC_HANDLER> ( | ACE_Thread_Manager * thr_mgr,
| long thr_flags,
| size_t n_threads = 1,
| int flags = 0 )

| Initialize the strategy.

template<classSVC_HANDLER>
ASYS_INLINE ACE_Thread_Strategy< SVC_HANDLER >::~ACE_Thread_Strategy<SVC_HANDLER> ( | void )`[virtual]`

## Member Function Documentation

template<classSVC_HANDLER>
int ACE_Thread_Strategy<SVC_HANDLER>::activate_svc_handler ( | SVC_HANDLER * svc_handler,
| void * arg = 0 )`[virtual]`

| Activate the <svc_handler> with an appropriate concurrency strategy. This method activates the SVC_HANDLER by first calling its <open> method and then calling its method to turn it into an active object. Reimplemented from ACE_Concurrency_Strategy.

template<classSVC_HANDLER>
void ACE_Thread_Strategy<SVC_HANDLER>::dump ( | void ) const

| Dump the state of an object. Reimplemented from ACE_Concurrency_Strategy.

template<classSVC_HANDLER>
int ACE_Thread_Strategy<SVC_HANDLER>::open ( | ACE_Thread_Manager * tm,
| long thr_flags,
| size_t n_threads = 1,
| int flags = 0 )`[virtual]`

| Initialize the strategy.

## Member Data Documentation

template<classSVC_HANDLER>
ACE_Thread_Strategy<SVC_HANDLER>::ACE_ALLOC_HOOK_DECLARE

| Declare the dynamic allocation hooks. Reimplemented from ACE_Concurrency_Strategy.

template<classSVC_HANDLER>
size_t ACE_Thread_Strategy<SVC_HANDLER>::n_threads_`[protected]`

| Number of threads to spawn.

template<classSVC_HANDLER>
long ACE_Thread_Strategy<SVC_HANDLER>::thr_flags_`[protected]`

| Flags to pass into the <SVC_HANDLER::activate> method.

template<classSVC_HANDLER>
ACE_Thread_Manager * ACE_Thread_Strategy<SVC_HANDLER>::thr_mgr_`[protected]`

| Thread manager for this class (must be provided).

The documentation for this class was generated from the following files:

- Strategies_T.h
- Strategies_T.cpp
- Strategies_T.i