ПредишенСледващото

Този интерфейс Win32 позволява на програмиста да контролира разпространението на време между нишки; Това се отнася за приложения, написани на Delphi. Времето за CPU графици на операционната система, в съответствие с приоритетите на потоците.

поток приоритет - количество сгъване на два компонента: приоритет зареди поток процес и действителната приоритет поток. Когато се създава нишка, се присвоява приоритет, съответстваща на процес приоритет, че тя се разклони.

От друга страна, процесът може да има следните приоритетни класове.

  • В реално време;
  • Нормално;
  • висока;
  • По-долу нормално;
  • Над нормално;
  • Idle.

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

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

Повечето процеси се извършват в рамките на нормалното класа приоритет. Нормално Приоритет означава, че процесът не изисква специално внимание от страна на операционната система.

Приоритети имат стойности от 0 до 31. Процесът зареди резба впоследствие може да промени своята приоритет; в тази ситуация, програмистът има способността да контролира скоростта на реакция на всеки поток.

конец база приоритет се състои от два компонента, но това не означава, че той е просто равна на сумата им. Погледнете подходящи стойности, които са показани в таблица. 29.1. За поток като собствен приоритет THREAD_PRIORITY_IDLE, основен приоритет ще бъде 1, независимо от неговата зареди процес приоритет.

И за един клас Нормално е показано на два приоритета, оборудван с най-букви Б (Background) и F (на преден план). Обяснението за това е дадено по-долу.

Освен основния приоритет, която е описана в тази таблица, разписание (разписание) може да възложи на така наречените динамични приоритети. За процес NORMAL_PRIORITY_CLASS клас при превключване от фона на преден план, а в някои други случаи се увеличава приоритет на конеца, с който се създава на преден план прозореца. Така работят всички клиентски операционни системи от Microsoft. операционни системи за сървъри са оптимизирани да работят приложения на заден план. Въпреки това, Windows NT и по-късно операционни системи на това ядро ​​превключвател позволява режим на оптимизацията с помощта на превключвател за кандидатстване аплет отговор система Windows контролен панел (фиг. 29.1).

Фиг. 29.1. С диалоговия прозорец Опции за изпълнение, можете да управлявате алгоритъма приоритизиране

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

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

  • Спрях изпълнение нишка да чака;
  • Той се появи готов да направи поток с по-висок приоритет.

Сега, може би, по-добре да изчистите опасността от неоправдани приоритети. В крайна сметка, ако има активни потоци с висок приоритет, без резба с по-нисък приоритет никога няма да се процесорното време. Този проблем може да причакват за вас, дори на нивото на вашата кандидатура. Да предположим, че възлага компютърни нишки THREAD_PRIORITY_ABOVE_NORMAL приоритет и потока, който обработва данни от потребителя, - THREAD_PRIORITY_BELOW_NORMAL. След това, вместо планирания резултат - в съчетание с изчисляване на заявление нормална реакция - ще получите точно обратната. Общото заявление не отговаря на вход, и за да се отстрани това ще бъде възможно само с помощта на операционната система ресурси.

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


Свързани статии

Подкрепете проекта - споделете линка, благодаря!