Size: a a a

2016 May 04

DB

Dmitry Bubnenkov in dlang.ru
Ну так мне рантаск не нужен?
источник

ED

Eto Demerzel in dlang.ru
Думаю нет.
источник

DB

Dmitry Bubnenkov in dlang.ru
А где и когда его юзать?
источник

DB

Dmitry Bubnenkov in dlang.ru
Как понять что какое то апи или либа не будет работать ассинхронно?
источник

ED

Eto Demerzel in dlang.ru
Dmitry Bubnenkov
А где и когда его юзать?
Ну, например, когда у тебя есть 2 запроса. И ты хочешь выполнить их одновременно.
источник

DB

Dmitry Bubnenkov in dlang.ru
В рамках одной функции?
источник

ED

Eto Demerzel in dlang.ru
Dmitry Bubnenkov
Как понять что какое то апи или либа не будет работать ассинхронно?
Обычно в описании библиотеки должно быть написано. Сейчас много всяких vibe-* библиотек появляется. Сам одну такую пишу.

Ну, и немного свои знания применять надо. Иногда может потребоваться в код залезть.
источник

ED

Eto Demerzel in dlang.ru
Dmitry Bubnenkov
В рамках одной функции?
Да. Например, тебе на сервер приходит запрос. Чтобы его обработкать, тебе нужно скачать 2 файла откуда-то из интернета. Запросы друг от друга не зависят, поэтому ты можешь выполнить их одновременно.
источник

DB

Dmitry Bubnenkov in dlang.ru
Что будет если результаты одной функции зависят от другой? Висеть будет?
источник

ED

Eto Demerzel in dlang.ru
Нет, будут выполняться другие файберы.
источник

DB

Dmitry Bubnenkov in dlang.ru
А эти как? Типа понемногу их выполнение будет идти?
источник

ED

Eto Demerzel in dlang.ru
От yield до yield.
источник

DB

Dmitry Bubnenkov in dlang.ru
Ну ялд же вызывается для функции не явно так?
источник

DB

Dmitry Bubnenkov in dlang.ru
Тоесть на каждую функцию какой то квант времени выделяется который сам планировщик вайба выделяет верно?
источник

ED

Eto Demerzel in dlang.ru
Нет, в vibe.d нет планировщика.
источник

ED

Eto Demerzel in dlang.ru
На сколько я понимаю все I/O функции vibe.d просто вызывают yield. Тем или иным образом. Например, если залезть в requestHTTP, то в конце-концов окажемся на строчке getEventDriver().connectTCP(...).
источник

DB

Dmitry Bubnenkov in dlang.ru
А в какой момент они это делают? Я это никак в толк не могу взять
источник

ED

Eto Demerzel in dlang.ru
Вот, посмотри на пример: http://dlang.org/phobos/std_concurrency.html#.Generator
источник

DB

Dmitry Bubnenkov in dlang.ru
оно на каждой итерации чтоли файбер возвращает?
источник

ED

Eto Demerzel in dlang.ru
Нет. Этот код просто в пример, как эта асинхронность работает.
источник