Сообщение Re[18]: Киллер фича JDK 21 - virtual threads от 10.05.2023 21:30
Изменено 10.05.2023 21:32 ·
Re[18]: Киллер фича JDK 21 - virtual threads
Здравствуйте, Serginio1, Вы писали:
S>·>Да ясен пень. Сабж как раз про то, что не нужно решать задачи с помощью Task, которому нужно специальные ключевые слова в язык, который требует от компилятора перекорёживать код, заставляет писать два варианта каждого метода, затрудняет понимание и отладку кода. Вместо этого можно просто иметь большое количество потоков.
S> Нееее. Это частный метод с одним уровнем. Как правило таски это многоуровневые вложения.
Нет. async/await — это виртуальные треды для бедных.
S> Я не вижу особых проблем с async/await. А вот с виртуальными потоками вижу. То есть совместно с тасками их не применить.
Тут уже несолько раз примеры приводили с Future и StructuredTaskScope.
S>Это просто оптимизация не асинхронного кода. Коего не так уж и много в том же C#.
Нет. Это возможно запускать асинхронно синхронный код c io и синхронизированный примитивами синхронизаци код.
S>·>Да ясен пень. Сабж как раз про то, что не нужно решать задачи с помощью Task, которому нужно специальные ключевые слова в язык, который требует от компилятора перекорёживать код, заставляет писать два варианта каждого метода, затрудняет понимание и отладку кода. Вместо этого можно просто иметь большое количество потоков.
S> Нееее. Это частный метод с одним уровнем. Как правило таски это многоуровневые вложения.
Нет. async/await — это виртуальные треды для бедных.
S> Я не вижу особых проблем с async/await. А вот с виртуальными потоками вижу. То есть совместно с тасками их не применить.
Тут уже несолько раз примеры приводили с Future и StructuredTaskScope.
S>Это просто оптимизация не асинхронного кода. Коего не так уж и много в том же C#.
Нет. Это возможно запускать асинхронно синхронный код c io и синхронизированный примитивами синхронизаци код.
Re[18]: Киллер фича JDK 21 - virtual threads
Здравствуйте, Serginio1, Вы писали:
S>·>Да ясен пень. Сабж как раз про то, что не нужно решать задачи с помощью Task, которому нужно специальные ключевые слова в язык, который требует от компилятора перекорёживать код, заставляет писать два варианта каждого метода, затрудняет понимание и отладку кода. Вместо этого можно просто иметь большое количество потоков.
S> Нееее. Это частный метод с одним уровнем. Как правило таски это многоуровневые вложения.
Нет. async/await — это виртуальные треды для бедных.
S> Я не вижу особых проблем с async/await. А вот с виртуальными потоками вижу. То есть совместно с тасками их не применить.
Тут уже несколько примеров приводили с Future и StructuredTaskScope.
S>Это просто оптимизация не асинхронного кода. Коего не так уж и много в том же C#.
Нет. Это возможность запускать асинхронно синхронный код c io и синхронизированный примитивами синхронизации код.
S>·>Да ясен пень. Сабж как раз про то, что не нужно решать задачи с помощью Task, которому нужно специальные ключевые слова в язык, который требует от компилятора перекорёживать код, заставляет писать два варианта каждого метода, затрудняет понимание и отладку кода. Вместо этого можно просто иметь большое количество потоков.
S> Нееее. Это частный метод с одним уровнем. Как правило таски это многоуровневые вложения.
Нет. async/await — это виртуальные треды для бедных.
S> Я не вижу особых проблем с async/await. А вот с виртуальными потоками вижу. То есть совместно с тасками их не применить.
Тут уже несколько примеров приводили с Future и StructuredTaskScope.
S>Это просто оптимизация не асинхронного кода. Коего не так уж и много в том же C#.
Нет. Это возможность запускать асинхронно синхронный код c io и синхронизированный примитивами синхронизации код.