Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 18422|Отговор: 1

[Източник] C# се учи да използва нишки

[Копирай линк]
Публикувано в 27.03.2017 г. 17:32:28 ч. | | |

. .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.

Пример:


Не използвам мултитрединг: Интерфейсът не реагира... Причината е, че мултитредингът не се използва




Предишен:Кой е шефът на недвижимите имоти У Сюежан зад "случая с обидата на майката"?
Следващ:BundleTable не зарежда js и css файлове с min
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com