. .NET фреймворк — це бібліотека класів під час виконання для C#, . .NET — це багатопотокове середовище. Потік — це один послідовний процес керування в процесі. Нитка — це сутність у процесі. Процес може мати кілька потоків, і потік повинен мати батьківський процес.
Потоки зазвичай мають три основні стани: читання, блокування та робота. З трьох базових станів виводяться п'ять базових операцій потоків. По-перше, виведення, нитки утворюються в межах процесу. По-друге, плануйте, виберіть готовий потік для входу в стан операції. По-третє, блокуйте, якщо потік має чекати на подію під час виконання, він буде заблокований. По-четверте, розблокуйте, якщо подія починається, потік розблоковується і потрапляє в чергу готовності. По-п'яте, фініш, потік завершується, і звільняються контекст регістрів і вміст стеку, які він виконав.
Новий потік — це новозгенерований об'єкт потоку, який ще не виділено ресурси. Тому ви можете використовувати лише методи start() або close().
Виконуваний стан — це коли потік отримує ресурси, необхідні для потоку, після запуску старт() методу, і викликає метод run() для виконання.
Стан Not Runable — це стан, який входить, коли відбуваються наступні події, викликається метод suspend(), метод sleep(), потік чекає змінну умови, а потік чекає на I/O.
Мертвий — це коли метод Run() повертається, або інший потік викликає метод stop(), і потік переходить у мертвий стан. Нижче наведено два прості приклади Thread.
Резюме: Чому використовувати Thread (багатопотоковість), це для запобігання блокуванню основного потоку, якщо потрібно обробляти велику кількість даних або викликати тривалий метод, потрібно використовувати багатопотокове навантаження.
Приклад:
Не використання багатопотокності: інтерфейс не реагує... Це тому, що багатопотокність не використовується
|