История изменений
Исправление rukez, (текущая версия) :
пока ты будешь ворочать вейты-нотифаи через мьютексы вручную
Ну вот что бы не бояться в вейты и стоит их освоить - по сути future это обертка которая автоматом дергает релиз перед выходом из runnable и ты получаешь переменную как результат (runnable превращается в callable) - это полностью аналогично делается через wait, однако (с) как только тебе потребуется результат одного прохода callable в двух разных потоках тебе придется синхронизировать уже их, и в случае с completable это уже может оказаться более сложным чем серия голых локов
Т.е. смысл от future в целом понятен но в реальности не то чтоб был сильно нужен, особенно учитывая что они реально простенько реализуются самостоятельно при нужде - все что нужно для многопотока в явушке есть со старта 👌
Исходная версия rukez, :
пока ты будешь ворочать вейты-нотифаи через мьютексы вручную
Ну вот что бы не бояться в вейты и стоит их освоить - по сути future это обертка которая автоматом дергает релиз перед выходом из runnable и ты получаешь переменную как результат (runnable превращается в callable) - это полностью аналогично делается через wait, однако (с) как только тебе потребуется результат одного прохода callable в двух разных потоках тебе придется синхронизировать уже их, и в случае с completable это уже может оказаться более сложным чем серия голых локов
Т.е. смысл от future в целом понятен но в реальности не то чтоб был сильно нужен, особенно учитывая что они реально простенько реализуются самостоятельно при нужде