Потоки і процеси
Потоки і процеси - це пов'язані поняття в обчислювальній техніці. Обидва представляють із себе послідовність інструкцій, які повинні виконуватися в певному порядку. Інструкції в окремих потоках або процесах, однак, можуть виконуватися паралельно.
Процеси існують в операційній системі і відповідають тому, що користувачі бачать як програми або програми. Потік, з іншого боку, існує всередині процесу. З цієї причини потоки іноді називаються "полегшені процеси". Кожен процес складається з одного або більше потоків.
Існування кількох процесів дозволяє комп'ютеру "одночасно" виконувати кілька завдань. Існування кількох потоків дозволяє процесу розділяти роботу для паралельного виконання. На многопроцессорном комп'ютері процеси або потоки можуть працювати на різних процесорах. Це дозволяє виконувати реально паралельну роботу.
Абсолютно паралельна обробка не завжди можлива. Потоки іноді повинні синхронізуватися. Один потік може очікувати результату іншого потоку, або одному потоку може знадобитися монопольний доступ до ресурсу, який використовується іншим потоком. Проблеми синхронізації є поширеною причиною помилок в багатопотокових застосуваннях. Іноді потік може закінчитися, чекаючи ресурс, який ніколи не буде доступний. Це закінчується станом, яке називається взаімоблокіровка.
Отладчик Visual Studio надає потужні, але прості у використанні засоби налагодження потоків і процесів.
Основні засоби для роботи з процесами в Visual Studio - це діалогове вікно Приєднання до процесу. вікно Процеси і панель інструментів Місце налагодження. Основні засоби для налагодження потоків - це вікно Потоки. маркери потоків у вікнах вихідного коду і панель інструментів Місце налагодження.
У цій табличці вказано доступні дані і дії, які можна виконувати в кожному з цих місць: