Ez a rész a szálak használatát segÃtÅ‘ modulokat mutatja be. A szálak használata a Pythonban opcionális, nem minden értelmezÅ‘ben működik! (Windowson, Linuxon megy!). Találkozni fogunk még olyan modulokkal is, melyek külsÅ‘ folyamatok indÃtását végzik Linuxon és Windowson.
A szálakkal egyszerre több dolgot is csinálhatsz a programban. Minden szál saját folyamatirányÃtással rendelkezik. MÃg az egyik szál adatokat olvas egy fájlból, a másik a képernyÅ‘t frissÃtheti.
A Python globális értelmezÅ‘ zárat használ annak megelÅ‘zésére, hogy két szál egyszerre próbálja ugyanazt az adatot módosÃtani-elérni. Egy idÅ‘ben egy szál kódja hajtódik végre, a szálak közötti váltás automatikusan történik. (emiatt látszólag párhuzamos a szálak futása). A váltásra akkor is sor kerül, ha egy szál várakozik – például a felhaszáló adatbevitelére, vagy a hálózatról történÅ‘ letöltés során ha adatra kell várakoznia.
A globális zár használata azonban nem elég a problémák megelÅ‘zésére. Ha több szál kÃsérli meg ugyanazt az adat-objektumot elérni, lehetséges hogy az hibás állapotba kerül, pl. egyszerre Ãrnak bele két eltérÅ‘ értéket. Vagy egy fájlt az egyik folyamat olvas, mialatt a másik Ãrja…
A fenti probléma elkerülésére objektum zárolást használhatsz. A zárolt objektumot egyszerre egy szál birtokolhatja, Ãgy biztosÃtható a szálak közötti ütközések elkerülése.
A mai operációs rendszereken minden program a saját folyamatában fut. Gyakran történik új folyamat indÃtás, például programok használata esetén (parancssori utasÃtás kiadásakor is). A Python lehetÅ‘vé teszi a programból új programok indÃtását.
You must be logged in to post a comment.