в зависимости от того, что я думаю об асинхронности, я все же придумываю какой-то параллелизм.более подробную информацию об асинхронном вызове IO
This guy here говорит, что асинхронность может иметь две разновидности:
моделируемой асинхронность (позвольте мне назвать это тот путь) - где нить икру для выполнения асинхронной некоторых операций. Для меня это поддельная асинхронность, и она похожа на параллелизм. Я не вижу здесь никаких реальных преимуществ.
аппаратное обеспечение, поддерживающее asynch, - где запрос только что пересылается на аппаратное обеспечение (например, жесткий диск или сетевая карта), а управление выполняется немедленно. Когда операция ввода-вывода будет готова, ЦП будет уведомлен и будет выполнен обратный вызов. Кажется, это нормально, если вы думаете об одном одиночном запросе ввода-вывода, но если я попытаюсь расширить пример для нескольких запросов ввода-вывода, я все равно прихожу к параллелизму только в том, что согласованность была отправлена на аппаратное обеспечение. не Вот схема для двух асинхронных IO называет:
- процессора ----- Ио асинхронной REQ 1 -----> Оборудование
- процессором < ------ возвращает управление (нет данных) ------- Аппаратное обеспечение
- CPU ----- io async req 2 ------> Оборудование
- CPU < ------ вернуть управление (нет данных) - ----- Аппаратное обеспечение
- CPU выполняет другие операции, в то время как аппаратное обеспечение выполняет две задачи ввода-вывода
- C PU < ------- данные для REQ 1 ------- Hardware
- ЦПУ выполняет обратный вызов
- ЦПУ выполняет другие операции
- CPU < -------- данные для REQ 2 ------- Оборудование
- CPU выполняет функцию обратного вызова
Как вы можете видеть, в строке 5, аппаратное обеспечение обрабатывает две задачи одновременно, параллелизм был передан в аппаратные средств , Итак, как я уже сказал, какой бы я ни думал об асинхронности, я все же придумываю какой-то параллелизм, конечно, на этот раз не процессор, который его обрабатывает, а IO-Hardware.
Я не прав?
Совместимо ли аппаратное обеспечение ввода-вывода?
Если да, это параллелизм, предлагаемый IO-аппаратным обеспечением, намного лучше, чем у процессора? Если нет, то аппаратное обеспечение выполняет синхронно несколько операций ввода-вывода, и в этом случае я не вижу преимуществ асинхронности и параллелизма.
Заранее за вашу помощь.
Возможно, вы сбиваете с толку многопоточность с параллелизмом? Параллелизм более общий и охватывает любые процессы, делающие вещи бок о бок. – usr
@usr, вы правы, я имел в виду, что я действительно соглашался – humbletrader
Я заменил все вхождения многопоточности на параллелизм – humbletrader