HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Alkalmazás prioritásának beállítása


Példaprogram letöltése

4686 bájt

Előfordulhat, hogy olyan alkalmazást kell készítenünk, amely hosszú, számításigényes feladatokat old meg. Normál esetben az ilyen alkalmazások annyira lefoglalhatják a rendszert, hogy az a többi alkalmazás lassulásához is vezethet. Ilyen esetben beállíthatjuk, hogy az alkalmazásunk milyen prioritást kapjon, vagyis korlátozhatjuk a rendelkezésére álló processzoridőt. Ennek módját mutatjuk be ebben a cikkben.

Ha egy alkalmazásnak alacsony a prioritása, akkor szinte észre sem vesszük, hogy a háttérben dolgozik. Ha viszont magas prioritással rendelkezik, akkor úgy leterheli a rendszert, hogy még a taszkok közötti váltás sem egyszerű, akár hosszú másodpercekig is eltarthat. A prioritás lekérdezéséhez a GetPriorityClass függvényt használhatjuk.
GetPriorityClass
Osztály:
function GetPriorityClass(
hProcess: THandle
): DWORD; stdcall;
Ezzel a függvénnyel a paraméterként megadott processz prioritását kérdezhetjük le.
Paraméterek
hProcess: THandle
Ebben a paraméterben kell megadnunk a processz azonosítóját. Ha saját alkalmazásunk prioritását akarjuk lekérdezni, akkor az azonosítót a GetCurrentProcess függvénnyel kérdezhetjük le.
Visszatérési érték
A függvény visszatérési értéke a processz prioritása. Az alábbi táblázatban a lehetséges értékek vannak felsorolva:
Konstans Jelentés
ABOVE_NORMAL_PRIORITY_CLASS Csak Windows 2000 és XP esetén használható érték. Az érték a NORMAL_PRIORITY_CLASS-nál nagyobb, de a HIGH_PRIORITY_CLASS-nál kisebb prioritás értékének beállítására szolgál.
BELOW_NORMAL_PRIORITY_CLASS Csak Windows 2000 és XP esetén használható. Az érték a IDLE_PRIORITY_CLASS-nál nagyobb, de a NORMAL_PRIORITY_CLASS-nál kisebb prioritást határoz meg.
HIGH_PRIORITY_CLASS Magas prioritás. Ezt a prioritást csak különleges esetekben használjuk, mert kevés időt hagy a többi, normál prioritású processznek.
IDLE_PRIORITY_CLASS Ez a prioritást azt mondja meg, hogy a processz csak akkor futhat, amikor a rendszer éppen üresjáratban van. Ilyen lehet például a képernyővédő.
NORMAL_PRIORITY_CLASS Normál prioritás.
REALTIME_PRIORITY_CLASS Ennél a beállításnál a processz az adott időben rendelkezésre álló lehető legnagyobb prioritást használja.
A GetPriorityClass függvény párja a SetPriorityClass függvény, amellyel egy processz prioritását adhatjuk meg.
SetPriorityClass
Osztály:
function SetPriorityClass(
hProcess: THandle;
dwPriorityClass: DWORD
): BOOL; stdcall;
Ezzel a függvénnyel tudjuk egy processz prioritását beállítani, ha tudjuk annak azonosítóját.
Paraméterek
hProcess: THandle
Ebben a paraméterben adhatjuk meg a processz azonosítóját. Ha saját alkalmazásunk prioritását akarjuk beállítani, akkor az azonosítót a GetCurrentProcess függvénnyel kérdezhetjük le.
dwPriorityClass: DWORD
Ebben a paraméterben adhatjuk meg az új prioritást a fenti táblázatban szereplő konstansok valamelyikével.
Visszatérési érték
A függvény visszatérési értéke igaz, ha a beállítás sikerült, és hamis, ha nem.

Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2002 évkönyv 262. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |