Зміст:
Визначення - Що означає багатопоточність?
Багатопотокова редакція - це тип моделі виконання, який дозволяє існувати декілька потоків у контексті процесу, таким чином, що вони виконуються незалежно, але діляться своїми ресурсами процесу. Потік підтримує список інформації, що стосується його виконання, включаючи графік пріоритету, оброблювачі винятків, набір реєстрів процесора та стан стека в адресному просторі хостингу.
Багатопоточна різьба також відома як різьблення різьбою.
Техопедія пояснює багатопоточність
Нитка може бути корисною в однопроцесорній системі, дозволяючи основній потоці виконання реагувати на введення користувача, тоді як додатковий робочий потік може виконувати тривалі завдання, які не потребують втручання користувача у фоновому режимі. Нитка в багатопроцесорній системі призводить до справжнього одночасного виконання потоків у декількох процесорах, і тому швидше. Однак воно вимагає більш ретельного програмування, щоб уникнути неінтуїтивної поведінки, таких як умови перегонів, тупики та ін.
Операційні системи використовують нарізку двома способами:
- Переважна багатопотокова редакція, при якій контекстним комутатором керує операційна система. Переключення контексту може здійснюватися у невідповідний час, Отже, нитка високого пріоритету може бути опосередковано попередньо виведена ниткою з низьким пріоритетом.
- Кооперативна багатопотокова редакція, в якій комутація контексту управляється потоком. Це може призвести до проблем, таких як тупикові місця, якщо нитка заблокована в очікуванні звільнення ресурсу.
У 32- та 64-бітних версіях Windows використовується багатопотокова багатопотокова передача, в якій доступний час процесора поділяється таким чином, що всі потоки отримують рівний часовий відрізок і обслуговуються в режимі на основі черги. Під час комутації потоку контекст попередньо заповненого потоку зберігається та перезавантажується в наступний потік черги. Часовий відрізок настільки короткий, що запущені нитки, здається, виконуються паралельно.
Це визначення було написане в контексті архітектури комп’ютерів