While rereading the scala.lan.org Future page here , I came across the following sentence:
If some of the callbacks never complete (for example, the callback contains an infinite loop), other callbacks may not be performed at all. In these cases, a potentially blocking callback should use a blocking construct (see below).
Why can't other callbacks be done at all? I can set some callbacks for this Future. A thread that completes the future may or may not make callbacks. But since one callback doesnβt keep up, the rest should not be punished, I think.
One of the possibilities that I can think of is a way to configure ExecutionContext. If it is configured with a single thread, this can happen, but this is a specific behavior and usually not expected behavior.
Did I miss something obvious here?
source
share