У дома железария Какво е многопоточност? - определение от техопедия

Какво е многопоточност? - определение от техопедия

Съдържание:

Anonim

Определение - Какво означава многопоточност?

Multithreading е вид модел за изпълнение, който позволява да съществуват множество нишки в контекста на процес, така че те да се изпълняват независимо, но споделят своите ресурси на процеса. Нишката поддържа списък с информация, свързана с нейното изпълнение, включително приоритетния график, обработващите изключения, набор от CPU регистри и състояние на стека в адресното пространство на хостинг процеса.

Многоструйното четене е известно и като резба.

Техопедия обяснява многопоточността

Концирането на нишки може да бъде полезно в еднопроцесорна система, като позволи на основната нишка за изпълнение да отговаря на въвеждането на потребителя, докато допълнителната работна нишка може да изпълнява дългосрочни задачи, които не се нуждаят от намеса на потребителя във фонов режим. Резьбата в многопроцесорна система води до истинско едновременно изпълнение на нишки в множество процесори и следователно е по-бързо. Тя обаче изисква по-внимателно програмиране, за да се избегне неинтуитивно поведение като състезателни условия, задънена улица и т.н.

Операционните системи използват резба по два начина:

  • Превантивно многопоточно четене, при което контекстният превключвател се управлява от операционната система. Превключването на контекста може да се извърши в неподходящо време, следователно, нишка с висок приоритет може да бъде косвено предварително извадена от нишка с нисък приоритет.
  • Кооперативно многопоточно четене, при което превключването на контекста се управлява от нишката. Това може да доведе до проблеми, като например безизходица, ако нишка е блокирана, чакащ ресурс да стане свободен.

32- и 64-битовите версии на Windows използват превантивно многопоточно четене, при което наличното време на процесора е споделено така, че всички нишки получават равен интервал от време и се обслужват в режим, базиран на опашка. По време на превключването на нишката контекстът на предварително изпратената нишка се съхранява и презарежда в следващата нишка на опашката. Времевият отрязък е толкова кратък, че течащите нишки изглежда изпълняват паралелно.

Това определение е написано в контекста на компютърната архитектура
Какво е многопоточност? - определение от техопедия