Fejlett Programozási Technológiák II. Világos Zsolt 12. gyakorlat.

Slides:



Advertisements
Hasonló előadás
Osztály leszármaztatás
Advertisements

C++ programozási nyelv Gyakorlat hét
Programozás III KOLLEKCIÓK 2..
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Adatbányászati technikák (VISZM185)
Öröklődés 2..
© Kozsik Tamás Beágyazott osztályok A blokkstrukturáltság támogatása –Eddig: egymásba ágyazható blokk utasítások Osztálydefiníciók is egymásba.
© Kozsik Tamás Párhuzamosság A program egyszerre több mindent is csinálhat Lehetőségek: –Számítással egyidőben IO –Több processzor: számítások.
Szabó Tamás Károly G6HT12 A Ruby programozási nyelv.
Bevezetés a Java programozásba
Fájlkezelés, IO Kivételkezelés Belső osztályok
Abstract osztályok és interface-ek Beolvasás és kiíratás 7. gyakorlat.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 7. Gyakorlat Operator overloading.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 5. Gyakorlat Öröklődés, virtuális függvények,
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 9. Gyakorlat Alap file műveletek.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 6. Gyakorlat const, static, dinamikus 2D.
Fejlett Programozási Technológiák II. Világos Zsolt 1. gyakorlat.
Fejlett Programozási Technológiák II. Világos Zsolt 7. gyakorlat.
Fejlett Programozási Technikák 2.
Az operációs rendszerek
A Java programozási nyelvSoós Sándor 1/17 Java programozási nyelv 4. rész – Osztályok II. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai.
A C++ programozási nyelvSoós Sándor 1/14 C++ programozási nyelv Gyakorlat hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet.
Java programozási nyelv 3. rész – Osztályok I.
A C++ programozási nyelvSoós Sándor 1/15 C++ programozási nyelv Gyakorlat hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet.
A C++ programozási nyelvSoós Sándor 1/12 C++ programozási nyelv Gyakorlat - 8. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet.
Hálózatkezelés, java.net Elek Tibor
C# tagfüggvények.
C# tagfüggvények.
Krizsán Zoltán.  Ha az algoritmus sokáig dolgozik,  de el akarjuk kerülni a „fagyást”.  Kisebb a költsége, mint az új folyamatnak.  Programozás szempontjából.
1. előadás. 1.) Szoftverfejlesztés, mint mérnöki tevékenység. Számítási eszközfejlődés. Számítási eszközfejlődés: hazai viszonyok. Mérföldkő: Simula 67.Klasszikus.
1. előadás. 1.) Szoftverfejlesztés, mint mérnöki tevékenység. Számítási eszközfejlődés. Számítási eszközfejlődés: hazai viszonyok. Mérföldkő: Simula 67.Klasszikus.
1 Operációs rendszerek MINB előadás Szálak, IPC.
Kivételkezelés.
1 Operációs rendszerek Az NT folyamatok kezelése.
1 Operációs rendszerek Az ütemezés megvalósítása.
P ROGRAMOZÁS C# - BAN Kivételkezelés. P ÉLDA I. Nullával való osztás miatt kapjuk a hibaüzenetet.
Ez a dokumentum az Európai Unió pénzügyi támogatásával valósult meg. A dokumentum tartalmáért teljes mértékben Szegedi Tudományegyetem vállalja a felelősséget,
Objektumorientált tervezés és programozás II. 3. előadás
A párhuzamos programozás nyelvi elemei Legéndi Richárd Olivér Eötvös Loránd Tudományegyetem november 12.
Az operációs rendszereK
Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz tárgy honlap:
1 Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz tárgy honlap:
1.4. Fordítás, szerkesztés, az objektumkönyvtár használata.
A PHP 5 újdonságai Az OOP terén. Miről lesz szó? Osztályok kezelése – Új direktívák – Konstruktor – Destruktor Interfészek Kivételkezelés.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Hernyák Zoltán Programozási Nyelvek II.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Hernyák Zoltán Programozási Nyelvek II.
Hernyák Zoltán Programozási Nyelvek II.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Javascript Microsoft által készített kiegészítése Statikus típusosság Nagy projektek Windows 8 fejlesztésénél WinRT egy részét ebben írták Nyílt forráskódú,
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Párhuzamosság, kritikus szakasz, szemaforok Operációs rendszerek.
Objektumvezérelt rendszerek tervezése
Fejlett Programozási Technológiák II. 2009, Nagy Csaba JSP – Java Server Pages.
Programozás III KIVÉTEL.
V 1.0 OE-NIK HP 1 Haladó Programozás Folyamatok Szálkezelés alapok.
Programozás III KIVÉTEL. KIVÉTELKEZELÉS Hibátlan program nincs!!! eddig hiba esetén leállt a program. Példa ilyen hibákra: ─ ArrayBoundsOfException (tömb.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 5. gyakorlat.
Objektumvezérelt rendszerek tervezése 6.óra – Factory Method © Szőke Gábor.
DLL használata és készítése Feladat
V 1.0 OE-NIK HP 1 Haladó Programozás Szálkezelés + szinkronizáció.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 6. gyakorlat.
TÁMOP /1-2F JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam Osztályok, objektumok definiálása és alkalmazása. Saját.
Párhuzamosság A program egyszerre több mindent is csinálhat Lehetőségek: –Számítással egyidőben IO –Több processzor: számítások egyidőben –Egy processzor.
Párhuzamos programozás
Alkalmazásfejlesztés gyakorlat
Hernyák Zoltán Programozási Nyelvek II.
Hálózatkezelés Java-ban
Thread és Task.
Előadás másolata:

Fejlett Programozási Technológiák II. Világos Zsolt 12. gyakorlat

Szegedi Tudományegyetem – Szoftverfejlesztés Tanszék Fejlett Programozási Technológiák II. gyakorlat - Világos Zsolt2 Mai gyakorlat Threads – Szálak  Process vs szál  Szálkezelési módok  Szál definiálása  Szemafor és monitor  Mutual Exclusion és programelemek

Szegedi Tudományegyetem – Szoftverfejlesztés Tanszék Fejlett Programozási Technológiák II. gyakorlat - Világos Zsolt3 Process vs szál Time slicing  mulitask megvalósítása: időosztásos os-ek, vagy több processzor/mag/gép (PVM)  Processeknek és szálaknak is van prioritása  Java: 10 szint van, leképezés os-re: JVM Thread.{Max | Min | Norm}Priority  Windowsban azt hiszem 7 van

Szegedi Tudományegyetem – Szoftverfejlesztés Tanszék Fejlett Programozási Technológiák II. gyakorlat - Világos Zsolt4 Process vs szál Process  Minden processnek saját végrehajtási környezete van (pl saját memória terület) 1 program = 1-* process  Process közti kommunikáció: IPC (Inter Process Communication) Egy gépen vagy több gép között  Java: ProcessBuilder és Process osztályok

Szegedi Tudományegyetem – Szoftverfejlesztés Tanszék Fejlett Programozási Technológiák II. gyakorlat - Világos Zsolt5 Process vs szál Thread  Saját végrehajtási környezete van Indítása olcsóbb mint egy process indítása Hajrá Occam!  1 Process = 1-* szál  Előny: thread osztozik process erőforrásain  Hátrány: kommunikáció  kölcsönös kizárás

Szegedi Tudományegyetem – Szoftverfejlesztés Tanszék Fejlett Programozási Technológiák II. gyakorlat - Világos Zsolt6 Szálkezelési módok Két mód van rá  Direkt szál menedzsment java.lang.Runnable és ~.Thread  Magasabb (absztraktabb API) java.util.concurrent (thread pool)  elsővel foglalkozunk

Szegedi Tudományegyetem – Szoftverfejlesztés Tanszék Fejlett Programozási Technológiák II. gyakorlat - Világos Zsolt7 Szál definiálása  két mód: Runnable interfész implementálása Thread osztályból származtatás, mely osztály implementálja a fenti interfészt  előző preferáltabb az egyszeres öröklődés miatt

Szegedi Tudományegyetem – Szoftverfejlesztés Tanszék Fejlett Programozási Technológiák II. gyakorlat - Világos Zsolt8 Mai gyakorlat Szemafor és monitor  A szemafor a párhuzamosság alapvető eszköze  alkalmas kölcsönös kizárásra és szinkronizálásra is  hátránya, hogy a kezelő kód szétszórt Monitor: fogjuk össze a kódokat

Szegedi Tudományegyetem – Szoftverfejlesztés Tanszék Fejlett Programozási Technológiák II. gyakorlat - Világos Zsolt9 Monitor Java-ban minden objektum viselkedhet monitorként. Az Object ősosztály nyújtja ezt a szolgáltatást metódusok által  wait(), wait(long timeout)  notify(), notifyAll()

Szegedi Tudományegyetem – Szoftverfejlesztés Tanszék Fejlett Programozási Technológiák II. gyakorlat - Világos Zsolt10 Monitor Szerkezet:  valósítsuk meg a közös erőforrást egy osztályban  a rajta végzett műveletek legyenek metódusok, melyek kezelik a kommunikációs problémákat  a kritikus rész így központosítottam lesznek

Szegedi Tudományegyetem – Szoftverfejlesztés Tanszék Fejlett Programozási Technológiák II. gyakorlat - Világos Zsolt11 Object Metódusok:  wait(), wait(long timeout) az aktuális szál az objektum várakozási sorába kerül, amíg egy másik szál notify(All)-t nem hív timeout: előző + max timeout ms-ig  notify(), notifyAll() az első egy szálat kivesz a várakozási sorból a második mindegyiket kiveszi a sorból

Szegedi Tudományegyetem – Szoftverfejlesztés Tanszék Fejlett Programozási Technológiák II. gyakorlat - Világos Zsolt12 Thread Metódusok:  sleep(long time) az akt szál time ideig várakozik  join(Thread t) aktuális szál vár, amíg t szál terminál overload változatával timeout is megadható  start()/stop() szál indítás és megállítás (utóbbi Deprecated)

Szegedi Tudományegyetem – Szoftverfejlesztés Tanszék Fejlett Programozási Technológiák II. gyakorlat - Világos Zsolt13 Thread Metódusok:  interrupt() megszakítja a szál futását átállítja a belső interrupted flag-et wait és … hívások ellenőrzik a flag-et, és ha megszakították a szálat, akkor hibát dobnak InterruptedException nincs konvenció, kezelése a programozó feladata

Szegedi Tudományegyetem – Szoftverfejlesztés Tanszék Fejlett Programozási Technológiák II. gyakorlat - Világos Zsolt14 Synchronized Kölcsönös kizárás része  két helyen lehet függvény előtt public synchronized void doit() {…} függvényben, blokk előtt synchronized (Object o) {…} pl.: synchronized (this) {…}  hatása: a megjelölt kódrészletet egyszerre csak egy szál hajthatja végre

Szegedi Tudományegyetem – Szoftverfejlesztés Tanszék Fejlett Programozási Technológiák II. gyakorlat - Világos Zsolt15 Synchronized működés Statikus metódusok esetén az osztályt leíró Class objektumhoz rendelt monitort használja a kód Példány metódus esetén az adott objektum kerül használatba

Szegedi Tudományegyetem – Szoftverfejlesztés Tanszék Fejlett Programozási Technológiák II. gyakorlat - Világos Zsolt16 Köszönöm a figyelmet!