The main entry point to the Ice run time is represented by the local Slice interface Ice::Communicator. An instance of Ice::Communicator is associated with a number of run-time resources:

Object adapters and objects that use different communicators are completely independent from each other. Specifically:

Typically, servers use only a single communicator but, occasionally, multiple communicators can be useful. For example, IceBox, uses a separate communicator for each Ice service it loads to ensure that different services cannot interfere with each other. Multiple communicators are also useful to avoid thread starvation: if one service runs out of threads, this leaves the remaining services unaffected.

See Also