diff --git a/akka-docs/scala/dispatchers.rst b/akka-docs/scala/dispatchers.rst index 24643b13e2..aefa7db5c7 100644 --- a/akka-docs/scala/dispatchers.rst +++ b/akka-docs/scala/dispatchers.rst @@ -42,6 +42,9 @@ There are 4 different types of message dispatchers: * Dispatcher + - This is an event-based dispatcher that binds a set of Actors to a thread pool. It is the default dispatcher + used if one is not specified. + - Sharability: Unlimited - Mailboxes: Any, creates one per Actor @@ -55,6 +58,8 @@ There are 4 different types of message dispatchers: * PinnedDispatcher + - This dispatcher dedicates a unique thread for each actor passed in as reference. + - Sharability: None - Mailboxes: Any, creates one per Actor @@ -66,6 +71,10 @@ There are 4 different types of message dispatchers: * BalancingDispatcher + - This is an executor based event driven dispatcher that will try to redistribute work from busy actors to idle actors. + + - It is assumed that all actors using the same instance of this dispatcher can process all messages that have been sent to one of the actors; i.e. the actors belong to a pool of actors, and to the client there is no guarantee about which actor instance actually processes a given message. + - Sharability: Actors of the same type only - Mailboxes: Any, creates one for all Actors @@ -79,6 +88,9 @@ There are 4 different types of message dispatchers: * CallingThreadDispatcher + - This dispatcher runs invocations on the current thread only. This dispatcher does not create any new threads, + but it can be used from different threads concurrently for the same actor. + - Sharability: Unlimited - Mailboxes: Any, creates one per Actor per Thread (on demand) @@ -87,6 +99,7 @@ There are 4 different types of message dispatchers: - Driven by: The calling thread (duh) + More dispatcher configuration examples ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -98,6 +111,10 @@ And then using it: .. includecode:: ../scala/code/akka/docs/dispatcher/DispatcherDocSpec.scala#defining-pinned-dispatcher +Note that ``thread-pool-executor`` configuration as per the above ``my-thread-pool-dispatcher`` exmaple is +NOT applicable. This is because every actor will have its own thread pool when using ``PinnedDispatcher``, +and that pool will have only one thread. + Mailboxes ---------