Cat
ладно, тогда линукс
Αλεχ
ибо там есть нормальное асинхронное IO
Αλεχ
с котором удобно примеры смотреть
Cat
мой мир сейчас перевернулся
Αλεχ
хз, я тоже удивился
Αλεχ
но когда я спросил как сделать асинхронную запись в файл на линухах
Αλεχ
мне сказали "лучше не пытайся"
Cat
шо
Cat
пайплайны на что?
պլհկ
Че за пайплайны
Cat
и причём тут Таски?
Cat
Cat
|
պլհկ
И какое они отношение имеют к асинхронному файловому ио?
Cat
🤔
Cat
кажется я опять ничего не понимаю, к чёрту
պլհկ
Да я тоже
պլհկ
Давайте дальше
Cat
Cat
с твоих слов, Такса в винде это такая асинхронная задача?
Cat
как это прогуглить?
分解物質
Αλεχ
https://msdn.microsoft.com/en-us/library/windows/desktop/aa446855(v=vs.85).aspx - ну вот например
Alexey
/split
Αλεχ
Αλεχ
Cat
Cat
а-ля крон?
Αλεχ
нет не оно
Αλεχ
я про таску на уровне кода
Cat
....
Αλεχ
нечто более высокоуровневое чем поток
Cat
в том коде используется Task Scheduler API
Αλεχ
https://msdn.microsoft.com/en-us/library/system.threading.tasks.task(v=vs.110).aspx
Αλεχ
Task не имеет никакого отношения к Task Sheduler лол
Αλεχ
одно - функционал ядра, другое - похожее название для UI фигни
Cat
Cat
ладно, допустим уговорил
Αλεχ
The Task class represents a single operation that does not return a value and that usually executes asynchronously. Task objects are one of the central components of the task-based asynchronous pattern first introduced in the .NET Framework 4. Because the work performed by a Task object typically executes asynchronously on a thread pool thread rather than synchronously on the main application thread, you can use the Status property, as well as the IsCanceled, IsCompleted, and IsFaulted properties, to determine the state of a task. Most commonly, a lambda expression is used to specify the work that the task is to perform.
Αλεχ
вот описание из доки
Αλεχ
если не нравится - почитай про промис в жс, ровно то же самое
Cat
Cat
это не интересно
Αλεχ
какая разница?
Αλεχ
тут не используются какие-то фишки GC
Cat
Αλεχ
чтобы сказать, что в расте неприменимо
Αλεχ
wakeup эвенты
Αλεχ
таски на них завязаны
Αλεχ
CONDVAR и все дела
Cat
будем считать, что я слился
Αλεχ
https://en.wikipedia.org/wiki/Spurious_wakeup
Αλεχ
вот например
Αλεχ
я про то, что я не шарю в линухах, мой опыт заканчивается на настройке ELK и рэббита на убунте в амазоне по ssh
Αλεχ
поэтому я процитировал чувака, который вроде в этом шарит, которому я задавал этот вопрос
Αλεχ
можешь почитать его мнение и сказать, что он не прав
分解物質
պլհկ
я читал
The current Linux POSIX AIO implementation is provided in user space by
glibc. This has a number of limitations, most notably that maintaining
multiple threads to perform I/O operations is expensive and scales
poorly.
պլհկ
это асинхронное ио ты называешь?
պլհկ
ок лан
分解物質
պլհկ
это цитата из man
Loo
старая песня
պլհկ
на который ты дал ссылку
分解物質
պլհկ
правильный ответ - никак
分解物質
я ответил
分解物質
помню были высокоуровневые кроссплатформенные библиотеки которые поверх epoll/kqueue/чтотамувинды работают
分解物質
но да в извесных никсах промисов на уровне ядра нет
Αλεχ
ну видимо поэтому в расте свое os-independed запилили
Αλεχ
хотя мне казалось, что на кондварах можно что угодно запилить, ведь все дистрибутивы вроде posix-совместимы
(((Sergey(not seresha))
Блин
(((Sergey(not seresha))
Функция возведения в степень от 0 может давать inf
(((Sergey(not seresha))
Чет неудобно
Αλεχ
что?
(((Sergey(not seresha))
(0.).powf(any) = inf