Next: PolyORB Tasking configuration, Previous: PolyORB Tasking runtimes, Up: Tasking model in PolyORB
PolyORB ORB Tasking policies control the creation of tasks to process all middleware internal jobs, e.g. request processing, I/O monitoring.
Note: there is a dependency between ORB Tasking policies, and the run-time used
Under the No Tasking ORB policy, no task are created within the middleware instance: it uses the environment task to process all jobs. Note that this policy is not thread-safe and is compatible with the No tasking runtime only.
Under the Thread Pool ORB policy, the middleware creates a pool of
thread during the initialization of PolyORB. This pool processes all
jobs. The number of tasks in the thread pool can be configured by three
parameters in the [tasking]
configuration section.
min_spare_threads
indicates the number of tasks
created at startup.
max_spare_threads
is a ceiling. When a remote subprogram
call is completed, its anonymous task is deallocated if the number of
tasks already in the pool is greater than the ceiling. If not, then
the task is queued in the pool.
max_threads
indicates the maximum number of tasks in the pool.
See PolyORB Tasking configuration, for more information on how to configure the number of tasks in the thread pool.
Under the Thread Per Session ORB policy, the middleware creates one task when a new session (one active connection) is opened. The task is finalized when the session is closed.
Under the Thread Per Request ORB policy, the middleware creates one task per incoming request. The task is finalized when the request is completed.