Size: a a a

Programming Offtop

2021 April 13

AN

Alexander Nozik in Programming Offtop
нет. О чем я исходно и говорил. Это вообще ортогонально
источник

А

Алексей in Programming Offtop
я то всегда думал, что грин треды - это асинхронщина "кишками внутрь"
источник

AN

Alexander Nozik in Programming Offtop
Колбэк это как бы по определению то, что вызывается после завершения работы и возвращает результат этой работы
источник

AN

Alexander Nozik in Programming Offtop
Во, еще один на грабли встал. Разные это вещи. Разные. Связанные в смысле реализации, но про разное.
источник

А

Алексей in Programming Offtop
в противовес "кишками наружу" с двухцветными функциями, future/promise, async/await и прочими радостями
источник

(

( in Programming Offtop
Как выше помянуто было, он может быть и синхронным
источник

(

( in Programming Offtop
О чем я и пытаюсь сказать, что калбечность (CPS, если быть до конца точным) так же ортогональна асинхронности
источник

AN

Alexander Nozik in Programming Offtop
Время его вызова не контролируется при запуске функции, которая его принимает, это и означает, что он асинхронный. Разумеется, можно придумать какие-нибудь дурные кейсы, когда он не по назначению используется
источник

AN

Alexander Nozik in Programming Offtop
Что такое сихнронный вызов? Это вызов и ожидание резальтата. Что такое асинхронный вызов? Это вызов и передача обработчика результата аргументом
источник

AN

Alexander Nozik in Programming Offtop
CPS - это одно из возможных решений проблемы развертывания колбэчной лапши. Не единственное. В этом смысле да, ортагонально
источник

А

Алексей in Programming Offtop
а, то есть вызовы в грин треде синхронные получаются относительно самого грин треда
источник

с#

саша сок #KotlinGang... in Programming Offtop
fun foo(callback: (State) -> Unit) {
   // doing stuff synchronously
   callback(AaptSuccess)
   // doing stuff synchronously
   callback(DexSuccess)
   // ...
}
источник

с#

саша сок #KotlinGang... in Programming Offtop
это тоже коллбек же
источник

AN

Alexander Nozik in Programming Offtop
Если использовать грин тред как тред (как того хочет Антон например), то вызов синхронный, да. Если вы в котлин пишете async{}.await() - это синхронный вызов
источник

AA

Albert Abdullin in Programming Offtop
А как корутины могут использовать Грин треды если в жвм их нет
источник

AN

Alexander Nozik in Programming Offtop
Я выше Антону писал. Это софтварное решение и их в JVM куча. Начиная с CompletableFututre
источник

А

Алексей in Programming Offtop
по моему как раз весь смысл грин тредов - это юзать их как обычные треды
источник

AN

Alexander Nozik in Programming Offtop
Именно. И это совершенно ортагонально корутинам
источник

(

( in Programming Offtop
Как минимум, чтобы вызванная функция завершилась до того, как ей будет что вернуть/передать в калбек, ей нужно уйти на другой поток, неважно, зелёный или коричневый
источник

AN

Alexander Nozik in Programming Offtop
Вот тут возникает путаница. Что такое "поток"?
источник