Ice Thread Pool Properties

name.Size

Synopsis

name.Size=num

Description

name is the name of the thread pool. The name of the client-side thread pool is Ice.ThreadPool.Client, the name of the default server-side thread pool is Ice.ThreadPool.Server. In addition, individual object adapters can have separate thread pools. In this case, the name of the thread pool is adapter_name.ThreadPool. Having a separate thread pool for an object adapter is useful to ensure that a minimum number of threads is available for dispatching requests on certain Ice objects, in order to avoid deadlocks because of thread starvation.

num is the initial and also minimum number of threads in the thread pool. The default is one for Ice.ThreadPool.Client and Ice.ThreadPool.Server, and zero for object adapter thread pools, meaning that by default, object adapters use the default server-side thread pool.

Note

Multiple threads for the client side thread pool are only required for nested AMI invocations. If AMI is not used, or AMI calls are not nested (i.e., AMI callbacks do not call any other methods on Ice objects), then there is no need to set the number of threads in the client thread pool to a value larger than one.

name.SizeMax

Synopsis

name.SizeMax=num

Description

num is the maximum number of threads for the thread pool name. Thread pools in Ice can grow and shrink dynamically, based on an average load factor. Thread pools do not grow larger than the parameter specified by SizeMax, and they do not shrink to a number of threads smaller than the value specified by Size.

The default value for SizeMax is the value of Size, meaning that by default, thread pools do not grow dynamically.

name.SizeWarn

Synopsis

name.SizeWarn=num

Description

Whenever num threads are active in a thread pool, a "low on threads" warning is printed. The default value for SizeWarn is 80% of the value specified by SizeMax.

name.StackSize

Synopsis

name.StackSize=num

Description

num is the stack size (in bytes) of threads in the thread pool name. When num is 0, the operating system's default is used. The default value for num is 0.