Многозадачность

Материал из Posmotreli
Перейти к навигации Перейти к поиску
« Говорят, что Юлий Цезарь делал много дел одновременно. Да, поездил бы он в нашей маршрутке и посмотрел на водителя. »
— Задорнов

Многозадачность – свойство системы, которое позволяет выполнять 2 и более задачи одновременно.

Мультизадачность является весьма неплохой суперспособностью.

  • Командовать всей армией на уровне отрядов?
  • Оперативно разруливать проблемы?
  • Одновременно читать сопромат перед экзаменом, писать бестселлер, а ещё вести дискуссию по троповедению и все без потери эффективности?

Пф, круто же.

Также сабж будет неплохой обязательной побочной способностью для некоторых обладателей самокопирования.

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

Биологическая сторона вопроса[править]

В некоторой степени многозадачность есть у всех людей. Человек может, например, одновременно:

  • идти;
  • есть;
  • дышать;
  • выполнять простейшие физ. упражнения и т. п.

Такое возможно благодаря нашему подсознанию, которое специально обучено выполнять подобные задачи.

Но большинству, вероятно, интересно а можно ли такой финт выкатить с умственными задачами…

Что ж, ответ нет — человек не может выполнять несколько умственных задач одновременно.

А вот переключаться с одной на другую мозг вполне может, только следует быть готовым последствиям:

  • Повышается риск совершения ошибок.
  • Мозг начинает жрать много энергии просто на переключение с одной задачи на другую Комментарий: у некоторых технических реализаций многозадачности также.
  • Стресс.
  • Усталость.

Техническая сторона вопроса[править]

Ладно, разобрали как с этим у кожаных мешочков, рассмотрим как с многозадачностью у железа и программ.

Прежде всего следует понимать, что у человека один «процессор»[1], а у компьютера их… ну… существенно больше.

Поэтому компьютер может выполнять задачи одновременно тупо их-за своей многоядерности и это не считая специальных архитектурных решений[2]

Но есть же ещё и программы, которые сводят это преимущество на нет. Возможные причины:

  • Программа написана так, что исполняется одним процессом, что сильно сказывается на производительности, если программа требует много расчётов.
  • Программа использует многозадачность, только вот написана криво, что приводит к различным болячкам (например, состоянию гонки, взаимной блокировке и пр.)
  • В программе слишком много общих данных, с которыми «задачам» приходится работать. Из-за этого плюсы многозадачности могут нивелироваться затратами на актуализацию данных.

Казалось бы, всё просто: программы нужно писать хорошо, а плохо писать не нужно. Но и с этим уйма сложностей, начиная, например, с архитектуры приложения, самого языка программирования и т. п.

Именно поэтому некоторые игры-песочницы плохо оптимизируются. Dwarf Fortress[3], RimWorld[4], Stellaris грустно кивают в сторонке.

Примеры[править]

Тут помню тут не помню.jpgДа миллион раз же было!
Автор этой статьи уверен, что неоднократно видел примеры этого тропа, но не может вспомнить достаточное их количество. Может быть, вам придёт на ум ещё хотя бы парочка?

Фольклор[править]

Литература[править]

  • Цикл «Ник» от Анджея Ясинского — заглавный герой получил такую фичу. Сам он её описывает как этакую шизофрению, когда в голове два голоса думают одновременно.

Кино[править]

  • Человек-Паук 2 – у Октавиуса, видимо, в каждом щупальце свои ИИ, что и позволяет ему выполнять несколько задач одновременно.

Комиксы[править]

  • Неуязвимый — Робот/Руди после возвращения на Землю от флексианцев знатно прокачался на этом поприще. Управлять одновременно несколькими отрядами роботов, несколькими командами супергероев в разных частях планеты, играя при этом в видеоигру? Как два пальца.
    • Также под троп, если подумать, подпадает Дупли-Кейт, которая прямо говорит, что у неё одно сознание на все клоны. С многозадачностью справляется похуже чем супер выше, но тем не менее.

Аниме, манга, ранобэ[править]

  • Да, я паук и что с того? — навык «параллельные сознания» у героини. Одно дерётся телом, другое продумывает стратегию, третье кастует магию и пр.

Видеоигры[править]

  • Stellaris — один из признаков у разогнанных обеспечивает сабж. В тело пропихивается куча мозгов, которые и решают задачи. Согласно описанию могут спорить друг с другом.

Реальная жизнь[править]

w:Сеанс одновременной игры – как раз пример постоянного переключения задач. Суть: один человек играет со множеством других игроков в шахматы (го, шашки и пр.).

Примечания[править]

  1. Хотя некоторые работы говорят, что это не так.
  2. Например, инструкции процессора о параллельных вычислениях (MMX, SSE в интеле).
  3. Всё же добавили немного параллелизма.
  4. Всё же добавили немного параллелизма.