Конци и резби

.NET Framework допълнително се подразделя на процеса на операционна система улеснява от контролирани под причиняващи области на приложение, представени от системата. AppDomain. Един или повече управлявани нишки (представена System.Threading. Резба) могат да бъдат проведени в една или повече области на приложение по контролиран процес. Въпреки факта, че всяка от сферите на приложение се стартира само с един конец, кодът в тази област може да създаде допълнителни домейни и приложни потоци. Благодарение на това се контролира потока могат свободно да се придвижват между сфери на приложение в рамките на същия този, на контролирания процес; между няколко области на приложение в същото време само една нишка може да бъде преместен.

Операционната система в подкрепа изпреварваща многозадачност, създава ефект на едновременното изпълнение на множество нишки от различни процеси. Това се постига чрез последователно разпределяне на разположение за процесорното време между изисква поток. В момента изпълнява нишка е спряно след определеното време; след това тече друга нишка. При преминаване от един поток в друг контекст поток, което е било спряно, то се запазва, а на следващата нишка в контекста на опашката е заредена.

Сумата, отпусната за потока на времето се определя от операционната система и процесор. От този момент, малко изпълнение на множество нишки ще се случи почти едновременно, дори и с един процесор. При многопроцесорни системи за изпълнение на нишки, се разпределя между наличните процесори.

За да се осигури бърз потребителски опит софтуер, използван искал да отговори възможно най-скоро, за да действията си. В същото време, той трябва да прави изчисления, необходими за бързото отчитане. Ако вашето приложение се използва еднонишкови изпълнение може да комбинира асинхронно програмиране с .NET Framework Remoting и уеб услуги XML. създаден с помощта на ASP.NET. Това дава възможност да се увеличи скоростта на системата отговор на действията на потребителите и да се намали времето за обработка на заявлението. При извършването на голям брой входно-изходни операции за увеличаване на скоростта на реакция на системата може да се използва за завършване пристанища IO.

Използването на повече от една нишка е най-мощните средства за увеличаване на скоростта на реакция на системата на приноса на потребителите, както и за обработване на данни изисква едновременно да изпълни задачата. За обработка на данни във фонов режим на компютъра с един процесор, този ефект се постига чрез използване на по-малки периоди от време между потребителски събития. Например, тъй като потребителят прави промени в други части на таблицата може да преизчисли електронната таблица и друг поток в тази молба.

Извършване на това приложение на компютър с няколко процесора ще бъде значително по-висока. За да изпълните следните задачи в областта на приложение, което искате да използвате множество нишки.

Взаимодействието по мрежа от уеб сървър и база данни.

Изпълнение на дейности, отнема много време.

В разпределението на задачите по приоритети. Например, с висок приоритет нишка е отговорен за спешни задачи с нисък приоритет - за всички останали.

Спасяването възможно отговор на потребителския интерфейс в разпределението на времето за фонови задачи.

За да се увеличи производителността и намаляване на количеството на системните ресурси, използвани препоръчително да се използва възможно най-малко потоци. В допълнение, при използване на потока трябва да се разглежда изискванията за ресурси и възможността за грешки в прилагането на проектиране. Следните изисквания ресурс.

Паметта, използвана от системата за обработка на контекстуални данни, изисквани от процеси, AppDomain и поточни обекти. Следователно, броят на новите процеси и обекти AppDomain поток ограничен от наличната памет.

процесорно време използва за проследяване на броя на потоците. Ако броят на потоци е голям, като повечето от тях няма да работи правилно. Ако по-голямата част от тях ток е в същия процес, потоците от други процеси са планирани по-рядко.

Контрол на кода с голям брой потоци е доста сложна и може да причини грешки.

С унищожаването на потоците трябва да се вземат предвид евентуални проблеми и да осигури начини за решаването им.

При споделяне конфликти могат да възникнат до ресурси. За да бъдат предотвратени, за да синхронизирате или контролиране на достъпа до споделени ресурси. синхронизация Достъп Грешка (в една и съща или различни сфери на приложение) може да доведе до застой (поток престава да изпълнява, в очакване на приключване на друг поток, който, от своя страна, изчаква първия поток) и състоянието на състезание (появата на неочаквани резултати, дължащи се на неправилното време връзката между двете събития). Системата включва синхронизиращи предмети, използвани за контрол на разпределението на ресурсите между нишки. Ресурсен Синхронизация опростена, ако броят на конци е малък.

Ресурси, които изискват синхронизация:

системни ресурси (серийни порта);

ресурси, използвани от множество процеси (описания на файлове);

ресурсите един домейн приложение (в световен мащаб, статични полета и полета например), които са достъпни от множество нишки.