Cat
ладно, тогда линукс
Αλεχ
ибо там есть нормальное асинхронное IO
Αλεχ
с котором удобно примеры смотреть
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
Αλεχ
man asio
см. выше цитату
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
ладно, допустим уговорил
Αλεχ
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
это не интересно
Αλεχ
какая разница?
Αλεχ
тут не используются какие-то фишки GC
Cat
если не нравится - почитай про промис в жс, ровно то же самое
я знаю, что это такое, я не знаю, где за это отвечает ОС
Αλεχ
чтобы сказать, что в расте неприменимо
Αλεχ
wakeup эвенты
Αλεχ
таски на них завязаны
Αλεχ
CONDVAR и все дела
Cat
будем считать, что я слился
Αλεχ
https://en.wikipedia.org/wiki/Spurious_wakeup
Αλεχ
вот например
分解物質
man asio
имел в виду man aio
Αλεχ
я про то, что я не шарю в линухах, мой опыт заканчивается на настройке ELK и рэббита на убунте в амазоне по ssh
Αλεχ
поэтому я процитировал чувака, который вроде в этом шарит, которому я задавал этот вопрос
պլհկ
имел в виду man aio
ты бы хоть сам прочитал
Αλεχ
можешь почитать его мнение и сказать, что он не прав
պլհկ
я читал
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
старая песня
պլհկ
на который ты дал ссылку
分解物質
պլհկ
его ещё на уровне ядра сейчас реализовывают
только к этому ману оно отношения не имеет
分解物質
только к этому ману оно отношения не имеет
"как у вас асинхронное io в линуксах"
պլհկ
правильный ответ - никак
分解物質
я ответил
分解物質
помню были высокоуровневые кроссплатформенные библиотеки которые поверх epoll/kqueue/чтотамувинды работают
分解物質
но да в извесных никсах промисов на уровне ядра нет
Αλεχ
ну видимо поэтому в расте свое os-independed запилили
Αλεχ
хотя мне казалось, что на кондварах можно что угодно запилить, ведь все дистрибутивы вроде posix-совместимы
(((Sergey(not seresha))
Блин
(((Sergey(not seresha))
Функция возведения в степень от 0 может давать inf
(((Sergey(not seresha))
Чет неудобно
Αλεχ
что?
(((Sergey(not seresha))
(0.).powf(any) = inf