. .NET фреймуърк е библиотека за класове по време на изпълнение за C#, . .NET е многонишкова среда. Нишката е един последователен контролен процес в даден процес. Нишката е същност в процес. Един процес може да има няколко нишки, а нишката трябва да има родителски процес.
Нишките обикновено имат три основни състояния: четене, блокиране и работа. От трите основни състояния се извеждат пет основни операции на нишки. Първо, deive, нишките се извеждат в рамките на процес. Второ, планирайте, изберете готова нишка, за да влезете в състояние на операция. Трето, блокиране, ако нишката трябва да изчака да се случи събитие по време на изпълнението, тя ще бъде блокирана. Четвърто, деблокиране, ако събитието започне, нишката се деблокира и влиза в опашката за готовност. Пето, завършване, нишката приключва и се освобождават контекстът на регистъра и съдържанието на стека, които е изпълнила.
Нова нишка е новогенериран обект на нишка, който все още не е отделил ресурси. Затова можете да използвате само методите start() или close().
Изпълнимото състояние е, когато нишката получава необходимите ресурси за нишката след стартиране на метода start() и извика run() метода за изпълнение.
Състоянието Not Runable е състояние, което влиза, когато се случат следните събития, се извиква методът suspend(), методът sleep() се извиква, нишката използва wait(), за да изчака променливата на условие, а нишката чака I/O.
Dead е когато методът Run() се върне или друга нишка извиква метода stop() и нишката влиза в мъртво състояние. По-долу са два прости примера за Thread.
Резюме: Защо да използвате Thread (multi-threading), това е за предотвратяване на блокиране на основната нишка; ако трябва да обработите голямо количество данни или да извикате времеемък метод, трябва да използваме Thread multi-threading.
Пример:
Не използвам мултитрединг: Интерфейсът не реагира... Причината е, че мултитредингът не се използва
|