[Mplayer-felhasznalok] Thread (MPlayerXP)
Kubler Istvan
kiskubi at prolan.hu
Mon Mar 18 11:48:24 CET 2002
Hali!
> Pedig erre vagytam :)... na mindegy akkor eleg lesz nagy vonalakban is.
> Vagy nagyon nagy vonalakban. :)
Na akkor nagyon nagy vonalakban:
A szalakat azert talaltak ki, mert szukseg lett olyan fajta
parhuzamositasra, ahol bazi gyorsan lehet valtani. Ui. a
processzvaltas eleg sok idot vesz igenybe - a proci vedelmi
szintet valt, memoriakat lapoz at szukseg eseten, taszk-
(processz-) kontextust kell valtani, stb..., ennel sokkal
egyszerubb, ha egy felhasznaloi reteg kepes egy processzen
belul is szalakat valtani. Egy szal olyansmi, mint egy pro-
cessz a processzen belul, de latja pl. a program globalis
valtozoit minden szal, tehat ilyen szempontbol olyan, mint
egy fuggveny. Csak tobb futhat belole parhuzamosan.
Cserebe (ezzel a fajtaval) vannak gondok is: ha valamelyik
szal blokkol (mer' pl. olvas a vinyorol vagy valami masra
var), akkor nem tud futni a vele egy processzben levo tobbi
szal, mert a kernel nem tud rola, hogy ott azok mit trukkoz-
nek, hanem atadja a vezerlest egy masik processznek.
Ez utobbi Linux-on nem igy van, itt minden szal kulon pro-
cessz, csak a programozonak errol nem kell tudnia. (Nem is
illik figyelembe venni.) Itt minden szalat kulon-kulon ute-
mez a kernel, nincs egymas blokkolasa, stb., cserebe ugya-
nolyan lassan tud valtani, mint ket teljes processz kozott.
Ami itt is van: globalis valtozok lathatok a szalakbol, meg
egy jo kis POSIX-os konyvtar (man pthread_create meg ilyenek),
ebben van szinkronizalas is, ha kell egymasra varniuk a
szalaknak (pthread_mutex_init, pthread_cond_init, stb...)
Udv:
-k-
More information about the MPlayer-felhasznalok
mailing list