Потоки Браілова Анна
Потік - це об'єкт операційної системи, укладений в процес і реалізує якtcm завдання. Кожна програма (процес) Win32 має принаймні один потік, який називається головним (основним, стандартним). Кожен процес може містити кілька потоків.
Без потоку програма процесу не може виконуватися. Потік включає наступні найбільш важливі елементи:
- вміст набору регістрів процесора, що відображають стан процесора;
- два стека, один з яких використовується потоком при виконанні в режимі ядра, а інший - в режимі користувача;
- закриту область пам'яті, звану локальною пам'яттю потоку і використовувану підсистемами, бібліотеками виконуючих систем і DLL;
- унікальний ідентифікатор потоку;
- Іноді потоки володіють своїм контекстом захисту, який зазвичай використовується багатопотоковими серверними додатками, підмінюють контекст захисту обслуговуваних клієнтів.
Вибір поточного потоку з декількох активних потоків, що намагаються отримати доступ до процесора називається плануванням.
Обраний для виконання потік працює протягом якогось періоду, званого квантом, після закінчення якого потік витісняється. Передбачається, що потік не знає, в який момент він буде витіснений. Потік також може бути витіснений навіть, якщо його квант ще не закінчився.