Каждая фьюча в каждый момент времени находится либо в завершённом, либо в незавершённом состоянии.
Если состояние завершённое, прямо в момент вызова будет вызван context.execute с Runnable содержащим код, который вы передали.
Если ещё незавершённое, ваш колбек ляжет в список колбеков в самой фьюче и в момент завершения, в коде, который вызовет complete у соотв. промиса, будут вызваны context.execute с Runnable, сортветствующими каждому из колбеков
а из какого потока будет вызван context.execute(runnable) в случае с ситуацией со скриншота?из диспатчеровского?
потому что context.execute это же по сути ExecutorService.execute(), я так понимаю, в случае глобал контекста это кажется ForkJoinPool.execute(), этот вызов происходит в каком-то из поток, вот в каком ?