Comments 2
С id 8, думаю, тоже вопросов нет (так как там и конфликтов между Executor'ами нет)
Нужно более подробную статью, а то возникает куча вопросов. Почему например здесь task не содержит executor, actor содержит custom executor, а используется все равно default executor
В случае с id 8 task не содержит executor, так как в него явно он и не передавался. task.unownedTaskExecutor
равен не nil только в случае если он явно присвоен (через withTaskExecutorPreference
либо через Task(executorPreference:)
). В этом случае он nil.
Actor да, содержит executor, он и будет использоваться (не default executor). Ты вероятно подумал про default executor из-за лога, но в данном случае лог отвечает только за вывод текущего TaskExecutor. Но он не в любом случае будет использоваться
Когда он будет использоваться, а когда не будет, как раз обрисовал в диаграмме ниже по статье
Swift concurrency. Executors, Actors и их связь с потоками