Równolegªo± w Javie w tki.
|
|
- Bernard Sadowski
- 5 lat temu
- Przeglądów:
Transkrypt
1 Równolegªo± w Javie w tki. Robert A. Kªopotek r.klopotek@uksw.edu.pl Wydziaª Matematyczno-Przyrodniczy. Szkoªa Nauk cisªych, UKSW
2 Wielow tkowo± w Javie Równolegªo± w Javie oparta jest na w tkach a nie na procesach W tek Java odpowiada w tkowi systemu operacyjnego (o ile system operacyjny obsªuguje w tki) W tek to tzw. lekki proces (ró»nice w Windows i Linux): W tki wspóªdziel wspóln przestrze«adresow Przeª czanie kontekstu pomi dzy w tkami jest znacznie szybsze ni» pomi dzy procesorami W tki nie blokuj u»ytkownika (np. GUI jest na oddzielnym w tku) W tki mog wykonywa zadania równolegle i si synchronizowa W tki s niezale»ne, wi c je±li w jednym z w tków wyst pi wyj tek to nie ma on wpªywu na pozostaªe (poza Error) 2 / 36
3 Wielow tkowo± vs Wieloprocesowo± 1 Ka»dy proces ma wªasn przestrze«adresow i alokuje pomi tylko na wªasny u»ytek 2 Procesy s ci»kie (heavyweight) 3 Koszt komunikacji mi dzyprocesowej jest du»y (poprzez specjalne obiekty zarz dzane przez system operacyjny) 4 Przeª czanie pomi dzy procesami wymaga czasu na zapisania i zaªadowanie rejestrów, map pami ci, aktualizacji list zasobów itp. 1 W tki dziel t sam pami 2 w tki s lekkie (lightweight) 3 Koszt komunikacji mi dzyw tkowej jest maªy 4 Przeª czanie kontekstu pomi dzy w tkami jest szybkie, poniewa» w tki s wykonywane wewn trz procesu 3 / 36
4 Cykl»ycia w tku 4 / 36
5 Tworzenie w tku W tki mo»na utworzy na 2 sposoby: poprzez rozszerzenie klasy Thread poprzez implementacj interfejsu Runnable Konstruktory klasy Thread: Thread() Thread(String name) Thread(Runnable r) Thread(Runnable r,string name) 5 / 36
6 Metody klasy Thread (1/2) public void run() public void start() public void sleep(long miliseconds) public void join() public void join(long miliseconds) public int getpriority() public int setpriority(int priority) public String getname() public void setname(string name) public Thread currentthread() 6 / 36
7 Metody klasy Thread (2/2) public boolean isalive() public void yield() public void suspend() [depricated]. public void resume() [depricated]. public void stop() [depricated]. public boolean isdaemon() public void setdaemon(boolean b) public void interrupt() public boolean isinterrupted() public static boolean interrupted() 7 / 36
8 Thread i Runnable - przykªad class MultiT extends Thread { public void run (){ System. out. println ( " W tek dziaªa... " ); public static void main ( String args []){ MultiT t1= new MultiT (); t1. start (); class MultiR implements Runnable { public void run (){ System. out. println ( " W tek dziaªa... " ); public static void main ( String args []){ MultiR m1= new MultiR (); Thread t1 = new Thread ( m1 ); t1. start (); 8 / 36
9 Klasa anonimowa w tku - przykªad class TestMultitaskingT { public static void main ( String args []){ Thread t1= new Thread (){ public void run (){ System. out. println ( " task one " ); ; Thread t2= new Thread (){ public void run (){ System. out. println ( " task two " ); ; t1. start (); t2. start (); 9 / 36 class TestMultitaskingR { public static void main ( String args []){ Runnable r1= new Runnable (){ public void run (){ System. out. println ( " task one " ); ; Runnable r2= new Runnable (){ public void run (){ System. out. println ( " task two " ); ; Thread t1= new Thread ( r1 ); Thread t2= new Thread ( r2 ); t1. start (); t2. start ();
10 Thread Scheduler Thread Scheduler (planista w tków) jest cz ±ci JVM i decyduje, który w tek b dzie uruchomiony Nie ma»adnych gwarancji, który w tek w stanie "runnable" zostanie wybrany do uruchomiania przez planist w tków Tylko jeden w tek mo»e w tym samym czasie by uruchomiony przez proces Planista w tków wskazuje, które zadanie (w tek) b dzie wykonane jako nast pne na podstawie priorytetu i innych czynników (np. dotychczasowego czasu dziaªania) 10 / 36
11 Harmonogram wykonania Planista w tków wykorzystuje gªównie harmonogram planowania prewencyjnego (preemptive) lub interwaªy czasu (time slice), aby zaplanowa czas wykonania w tków: planowanie prewencyjne - zadanie (w tek) z najwy»szym priorytetem jest wykonywane dopóki nie zacznie czeka (wait) lub si nie zako«czy lub nie przyjdzie zadanie z wy»szym priorytetem interwaªy czasu - ka»dy w tek ma z góry okre±lony czas, w którym mo»e dziaªa, je±li nie sko«czy zostaje przeniesiony do puli w tków gotowych do uruchomienia i uruchamiany jest kolejny gotowy 11 / 36
12 Metoda Sleep - przykªad class TestSleepMethod extends Thread { public void run (){ for ( int i =1; i <5; i ++){ try { Thread. sleep (500); catch ( InterruptedException e ){ System. out. println (e ); System. out. println (i ); public static void main ( String args []){ TestSleepMethod t1= new TestSleepMethod (); TestSleepMethod t2= new TestSleepMethod (); t1. start (); t2. start (); 12 / 36
13 Wystartowanie 2 razy tego samego w tku - przykªad public class TestThreadTwice extends Thread { public void run (){ System. out. println (" running... " ); public static void main ( String args []){ TestThreadTwice t1= new TestThreadTwice (); t1. start (); t1. start (); // running... // Exception in thread " main " // java. lang. IllegalThreadStateException 13 / 36
14 Czekanie na w tki - przykªad public class TestJoinMethod extends Thread { public void run (){ for ( int i =1; i <=5; i ++){ try { Thread. sleep (500); catch ( Exception e ){ System. out. println (e ); System. out. println ( Thread. currentthread (). getname ()+ " : "+i ); public static void main ( String args []){ TestJoinMethod t1= new TestJoinMethod (); TestJoinMethod t2= new TestJoinMethod (); TestJoinMethod t3= new TestJoinMethod (); System. out. println ( Thread. currentthread (). getname ()); t1. start (); try { t1. join (1500); catch ( Exception e ){ System. out. println (e ); t2. start (); t3. start (); 14 / 36
15 Czekanie na w tki - wydruk main Thread -0 : 1 Thread -0 : 2 Thread -0 : 3 Thread -1 : 1 Thread -2 : 1 Thread -0 : 4 Thread -1 : 2 Thread -2 : 2 Thread -0 : 5 Thread -1 : 3 Thread -2 : 3 Thread -1 : 4 Thread -2 : 4 Thread -2 : 5 Thread -1 : 5 15 / 36
16 Ustawianie priorytetów ka»dy w tek ma priorytet priorytet jest reprezentowany przez liczb z zakresu 1 do 10, priorytet domy±lny to 5 w wi kszo±ci przypadków planista ustawia w tki wg priorytetu, ale nie jest to gwarantowane i zale»y od stanu JVM 3 staªe w klasie Thread public static int MIN_PRIORITY public static int NORM_PRIORITY public static int MAX_PRIORITY 16 / 36
17 W tki - demony Zadaniem w tków-demonów (daemon thread) jest dostarczenie usªug dla w tków u»ytkownika»ycie tych w tków zale»y od ªaski w tków u»ytkownika - je±li wszystkie w tki u»ytkownika zako«cza dziaªanie JVM automatycznie zabija wszystkie w tki-demony w tki-demony dziaªaj w tle i maja niski priorytet mo»emy ustawi czy w tek jest demonem tylko przed uruchomieniem - ustawianie po uruchomieniu zako«czy si wyj tkiem IllegalThreadStateException 17 / 36
18 Watki - demony public class TestDaemonThread extends Thread { public void run (){ if ( Thread. currentthread (). isdaemon ()){ // sprawdzanie czy to w tek - demon System. out. println (" daemon thread work " ); else { System. out. println (" user thread work " ); public static void main ( String [] args ){ TestDaemonThread t1= new TestDaemonThread (); TestDaemonThread t2= new TestDaemonThread (); TestDaemonThread t3= new TestDaemonThread (); t1. setdaemon ( true ); // teraz w tek t1 jest w tkiem - demonem t1. start (); t2. start (); t3. start (); 18 / 36
19 Pula w tków Pula w tków w Javie to grupa w tków, które czekaj na zadanie i mo»na je wielokrotnie wykorzystywa Pula w tków na z góry ograniczona pojemno± - ilo± w tków Watek jest wyci gany z puli, aby wykona zadanie, a jak ju» je sko«czy to jest z powrotem wkªadany do puli w tków oczekuj cych Zaleta puli w tków jest jej wi ksza wydajno±, poniewa» nie ma potrzeby na nowo tworzenia obiektów w tku Powszechne zastosowanie ma w Servletach i JSP (JavaServer Pages), gdzie kontener tworzy pule w tków od obsªugi zapyta«serwera Za obsªug puli w tków odpowiadaj klasy ExecutorService i Executors 19 / 36
20 Pula w tków - przykªad import java.util. concurrent. ExecutorService ; import java.util. concurrent. Executors ; class WorkerThread implements Runnable { private String message ; public WorkerThread ( String s ){ this. message = s ; public void run () { System.out. println ( Thread. currentthread (). getname () + " ( Start ) message = "+ message ); processmessage (); System.out. println ( Thread. currentthread (). getname () + " ( End ) " ); private void processmessage () { try { Thread. sleep (2000); catch ( InterruptedException e ) { e. printstacktrace (); public class TestThreadPool { public static void main ( String [] args ) { ExecutorService executor = Executors. newfixedthreadpool (5); for ( int i = 0; i < 10; i ++) { Runnable worker = new WorkerThread ( " " + i ); executor. execute ( worker ); executor. shutdown (); while (! executor. isterminated ()) { System.out. println ( " Koniec w tków " ); 20 / 36
21 Pula w tków - wydruk pool -1 - thread -1 ( Start ) message = 0 pool -1 - thread -3 ( Start ) message = 2 pool -1 - thread -2 ( Start ) message = 1 pool -1 - thread -4 ( Start ) message = 3 pool -1 - thread -5 ( Start ) message = 4 pool -1 - thread -2 ( End ) pool -1 - thread -3 ( End ) pool -1 - thread -1 ( End ) pool -1 - thread -1 ( Start ) message = 7 pool -1 - thread -3 ( Start ) message = 6 pool -1 - thread -2 ( Start ) message = 5 pool -1 - thread -5 ( End ) pool -1 - thread -4 ( End ) pool -1 - thread -4 ( Start ) message = 9 pool -1 - thread -5 ( Start ) message = 8 pool -1 - thread -2 ( End ) pool -1 - thread -1 ( End ) pool -1 - thread -3 ( End ) pool -1 - thread -4 ( End ) pool -1 - thread -5 ( End ) Koniec w tków 21 / 36
22 Grupy w tków W tki w Javie mo»na poª czy w grupy, aby jednocze±nie wykonywa operacje na caªej grupie a nie tylko na pojedynczych w tkach UWAGA: metody suspend(), resume() i stop() s oznaczone jako "deprecated" Za grup w tków odpowiada klasa ThreadGroup: ThreadGroup(String name) ThreadGroup(ThreadGroup parent, String name) Thread(ThreadGroup group, Runnable target, String name) int activecount() int activegroupcount() void destroy() ThreadGroup getparent() void interrupt() void list() 22 / 36
23 Grupy w tków - przykªad public class ThreadGroupDemo implements Runnable { public void run () { System. out. println ( Thread. currentthread (). getname ()); public static void main ( String [] args ) { ThreadGroupDemo runnable = new ThreadGroupDemo (); ThreadGroup tg1 = new ThreadGroup (" Parent ThreadGroup " ); Thread t1 = new Thread ( tg1, runnable," one " ); t1. start (); Thread t2 = new Thread ( tg1, runnable," two " ); t2. start (); Thread t3 = new Thread ( tg1, runnable," three " ); t3. start (); System. out. println (" Thread Group Name : "+ tg1. getname ()); tg1. list (); 23 / 36
24 Java Shutdown Hook Hak zamkni cia (shutdown hook) mo»e by u»yty do przeprowadzania czyszczenia zasobów lub zapisywania stanu, gdy JVM wyª cza si normalnie lub nagle Je±li chcemy wykona jakie± czyszczenie zasobów zanim JVM si zamknie, to powinni±my u»y haka zamykania Kiedy JVM si zamknie: u»ytkownik nacisn ª CTRL+C zostaªa wywoªana metoda System.exit(int) u»ytkownik si wylogowaª u»ytkownik zamyka system 24 / 36
25 Shutdown Hook - przykªad class MyThread extends Thread { public void run (){ System. out. println (" Shut down hook task completed." ); public class TestShutdown { public static void main ( String [] args ) throws Exception { Runtime r= Runtime. getruntime (); r. addshutdownhook ( new MyThread ()); System. out. println (" Now main sleeping. Press CTRL +C to exit." ); try { Thread. sleep (3000); catch ( Exception e) { 25 / 36
26 Synchronizacja w Javie Synchronizacja to zdolno± do kontrolowania dost pu wielu w tków do jakiegokolwiek dzielonego zasobu Synchronizacja jest gªównie u»ywana do zapobiegania ingerencji w tków mi dzy sob oraz do zachowania spójno±ci zasobów i wykonania S 2 gªówne sposoby na synchronizacj : Wzajemne wykluczanie - poprzez metody synchronized nazwa_metody {, poprzez bloki synchronizowane synchronized(object reference expression) { oraz statyczn synchronizacj Kooperacja - komunikacja mi dzyw tkowa w Javie Koncepcja blokady (lock) - gdy jeden z w tków uzyska dost p do zasobu synchronizowanego to zakªada na niego blokad i inne w tki juz nie maj do niego dost pu 26 / 36
27 Synchronizacja metody - przykªad class Table { synchronized void printtable ( int n ){ // metoda synchronizowana for ( int i =1; i <=5; i ++){ System. out. println (n*i ); try { Thread. sleep (400); catch ( Exception e ){ System. out. println (e ); public class TestSynchronization { public static void main ( String args []){ final Table obj = new Table (); // tylko jedne obiekt Thread t1= new Thread (){ public void run (){ obj. printtable (5); ; Thread t2= new Thread (){ public void run (){ obj. printtable (100); ; t1. start (); t2. start (); 27 / 36
28 Synchronizacja bloku - przykªad class Table { void printtable ( int n ){ synchronized ( this ){ // synchronizowany blok for ( int i =1; i <=5; i ++){ System. out. println (n*i ); try { Thread. sleep (400); catch ( Exception e ){ System. out. println (e ); public class TestSynchronization { public static void main ( String args []){ final Table obj = new Table (); // tylko jedne obiekt Thread t1= new Thread (){ public void run (){ obj. printtable (5); ; Thread t2= new Thread (){ public void run (){ obj. printtable (100); ; t1. start (); t2. start (); 28 / 36
29 Synchronizacja statyczna Je±li stworzymy statyczn metod zsynchronizowan, blokada znajdzie si w klasie nie na obiekcie! Problemy bez synchronizacji statycznej: 29 / 36
30 Synchronizacja statyczna - przykªad class Table { synchronized static void printtable1 ( int n ){ for ( int i =1; i <=5; i ++){ System. out. println (n*i ); try { Thread. sleep (400); catch ( Exception e ){ System. out. println (e ); void printtable2 ( int n ){ synchronized ( Table. class ){ // blokada klasy for ( int i =1; i <=5; i ++){ System. out. println (n*i ); try { Thread. sleep (400); catch ( Exception e ){ System. out. println (e ); 30 / 36
31 Problem zakleszczenia Zakleszczenia s cz ±ci problemów z równolegªo±ci Zakleszczenie to zbiór procesów b d cych w impasie wywoªanym przez to,»e ka»dy proces nale» cy do tego zbioru przetrzymuje zasoby potrzebne innym procesom z tego zbioru, a jednocze±nie czeka na zasoby przydzielone innym procesom. Jak prosto doprowadzi do zakleszczenia: w tek 1 blokuje zasób 1 i chce zablokowa zasób 2 potrzebny do zako«czenia zadania równolegle w tek 2 blokuje zasób 2 i chce zablokowa zasób 1 potrzebny do zako«czenia zadania w tki 1 i 2 b d czekaªy w niesko«czono±, a» który± zwolni potrzeby zasób do zako«czenia zadania 31 / 36
32 Zakleszczenie - przykªad public class TestDeadlockExample { public static void main ( String [] args ) { final String resource1 = " res1 " ; final String resource2 = " res2 " ; // w tek 1 blokuje zasób 1 a potem zasób 2 Thread t1 = new Thread () { public void run () { synchronized ( resource1 ) { System.out. println ( " Thread 1: locked resource 1 " ); try { Thread. sleep (100); catch ( Exception e ) { synchronized ( resource2 ) { System.out. println ( " Thread 1: locked resource 2 " ); ; // reszta main w drugiej kolumnie public class TestDeadlockExample { public static void main ( String [] args ) { // w tek 2 blokuje zasób 2 a potem zasób 1 Thread t2 = new Thread () { public void run () { synchronized ( resource2 ) { System.out. println ( " Thread 2: locked resource 2 " ); try { Thread. sleep (100); catch ( Exception e ) { synchronized ( resource1 ) { System.out. println ( " Thread 2: locked resource 1 " ); ; t1. start (); t2. start (); 32 / 36
33 Komunikacja mi dzyw tkowa Komunikacja mi dzyw tkowa sªu»y do kooperacji pomi dzy w tkami Gªównie u»ywa si jej do komunikacji, ze dany zasób jest dost pny do u»ycia, np. watek pisarza blokuje bufor, pisze do bufora a na koniec informuje w tek czytelnika,»e mo»na ju» odczyta dane metoda wait() - powoduje,»e watek znosi blokad i czeka dopóki inny watek nie wywoªa metody notify() lub notifyall() dla danego obiektu lub kiedy upªyn ª odpowiedni czas metoda notify() - powoduje obudzenie w tku czekaj cego na monitorze obiektu. Je±li czeka wiele w tków, to jeden z nich zostanie wybrany do obudzenia metoda notifyall() - budzi wszystkie w tki czekaj ce na monitorze obiektu 33 / 36
34 Proces komunikacji mi dzyw tkowej 34 / 36
35 Komunikacja mi dzyw tkowa - przykªad class Customer { int amount =10000; synchronized void withdraw ( int amount ){ System.out. println ( " going to withdraw... " ); if ( this. amount < amount ){ System.out. println ( "Less balance ; " + " waiting for deposit... " ); try {wait (); catch ( Exception e ){ this. amount -= amount ; System.out. println ( " withdraw completed... " ); synchronized void deposit ( int amount ){ System.out. println ( " going to deposit... " ); this. amount += amount ; System.out. println ( " deposit completed... " ); notify (); class Test { public static void main ( String args []){ final Customer c=new Customer (); new Thread (){ public void run (){ c. withdraw (15000);. start (); new Thread (){ public void run (){ c. deposit (10000);. start (); 35 / 36
36 36 / 36 Pytania?
Współbieżność w środowisku Java
Współbieżność w środowisku Java Wątki i ich synchronizacja Zagadnienia Tworzenie wątków Stany wątków i ich zmiana Demony Synchronizacja wątków wzajemne wykluczanie oczekiwanie na zmiennych warunkowych
Bardziej szczegółowoWspółbieżność w Javie
Wielowątkowość (obsługa wątków) Tworzenie wątków Stany wątków i ich zmiana Demony Grupy wątków Synchronizacja wątków wzajemne wykluczanie oczekiwanie na zmiennych warunkowych pakiet java.util.concurrent
Bardziej szczegółowoWspółbieżność w Javie
Wielowątkowość (obsługa wątków) Tworzenie wątków Stany wątków i ich zmiana Demony Grupy wątków Synchronizacja wątków wzajemne wykluczanie oczekiwanie na zmiennych warunkowych pakiet java.util.concurrent
Bardziej szczegółowoKurs programowania. Wykład 8. Wojciech Macyna. 10 maj 2017
Wykład 8 10 maj 2017 Współbieżność Watki w JAVA-ie Współbieżność może być realizowana na poziomie systemu operacyjnego (procesy) lub na poziomie aplikacji (watki). W JAVA-ie powszechnie stosuje się watki.
Bardziej szczegółowoKurs programowania. Wykład 8. Wojciech Macyna
Wykład 8 Program bez watków, jeden procesor, trzy zadania Program z watkami, jeden procesor, trzy zadania Procesory wielordzeniowe, każde zadanie na osobnym procesorze Trzy zadania uruchomione w watkach
Bardziej szczegółowoWątki. Definiowanie wątków jako klas potomnych Thread. Nadpisanie metody run().
Wątki Streszczenie Celem wykładu jest wprowadzenie do obsługi wątków w Javie. Czas wykładu 45 minut. Definiowanie wątków jako klas potomnych Thread Nadpisanie metody run(). class Watek extends Thread public
Bardziej szczegółowoWspółbieżność i równoległość w środowiskach obiektowych. Krzysztof Banaś Obliczenia równoległe 1
Współbieżność i równoległość w środowiskach obiektowych Krzysztof Banaś Obliczenia równoległe 1 Java Model współbieżności Javy opiera się na realizacji szeregu omawianych dotychczas elementów: zarządzanie
Bardziej szczegółowoJęzyk Java wątki (streszczenie)
Programowanie współbieżna Język Java wątki (streszczenie) Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski @ pwr.wroc.pl Języka Java wątki Autor:
Bardziej szczegółowoWątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego
Wątki Wątek - definicja Ciąg instrukcji (podprogram) który może być wykonywane współbieżnie (równolegle) z innymi programami, Wątki działają w ramach tego samego procesu Współdzielą dane (mogą operować
Bardziej szczegółowoProgramowanie komputerów
Programowanie komputerów Wykład 7: Programowanie wielowątkowe w Javie dr inż. Walery Susłow Współbieżność Programy współbieżne (concurrent software) aplikacje potrafiące wykonywać kilka operacji w tym
Bardziej szczegółowoObliczenia równoległe i rozproszone w JAVIE. Michał Kozłowski 30 listopada 2003
Obliczenia równoległe i rozproszone w JAVIE Michał Kozłowski 30 listopada 2003 Wątki w JAVIE Reprezentacja wątków jako obiektów Uruchamianie i zatrzymywanie wątków Realizacja wątków Ograniczenia Mechanizmy
Bardziej szczegółowoJęzyk Java wątki (streszczenie)
Programowanie współbieŝna Język Java wątki (streszczenie) Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski @ pwr.wroc.pl Podstawowe pojęcia: procesy
Bardziej szczegółowo6.1 Pojęcie wątku programu 6.2 Klasy Timer, TimerTask 6.3 Klasa Thread 6.4 Synchronizacja pracy wątków 6.5 Grupowanie wątków
6. Wątki 6.1 Pojęcie wątku programu 6.2 Klasy Timer, TimerTask 6.3 Klasa Thread 6.4 Synchronizacja pracy wątków 6.5 Grupowanie wątków W. Kasprzak: Programowanie zdarzeniowe 6-1 6.1 Wątki programu 1) Pojęcie
Bardziej szczegółowoAutor: dr inż. Zofia Kruczkiewicz, Programowanie aplikacji internetowych 1
Wątki 1. Wątki - wprowadzenie Wątkiem nazywamy sekwencyjny przepływ sterowania w procesie, który wykonuje dany program np. odczytywanie i zapisywanie plików Program Javy jest wykonywany w obrębie jednego
Bardziej szczegółowoJava. Wykład. Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ
Procesy i wątki Proces posiada samodzielne środowisko wykonawcze. Proces posiada własny zestaw podstawowych zasobów w czasie wykonywania; W szczególności, każdy proces ma własną przestrzeń pamięci. W uproszczeniu
Bardziej szczegółowoWielowątkowość. Programowanie w środowisku rozproszonym. Wykład 1.
Wielowątkowość Programowanie w środowisku rozproszonym. Wykład 1. Informacje organizacyjne Wymiar godzin: W-30, LAB-15 Zaliczenie wykonanie kilku programów i ich zaliczenie (w trakcie zajęć laboratoryjnych)
Bardziej szczegółowoWspółbieżność i równoległość w środowiskach obiektowych. Krzysztof Banaś Obliczenia równoległe 1
Współbieżność i równoległość w środowiskach obiektowych Krzysztof Banaś Obliczenia równoległe 1 Java Model współbieżności Javy opiera się na realizacji szeregu omawianych dotychczas elementów: zarządzanie
Bardziej szczegółowoWątki w Javie. Piotr Tokarski
Wątki w Javie Piotr Tokarski Wprowadzenie Co to są wątki? Co to są wątki? Każdy program ma przynajmniej jeden wątek Co to są wątki? Każdy program ma przynajmniej jeden wątek Wątki są po to, by symulować
Bardziej szczegółowoProgramowanie współbieżne Laboratorium nr 11
Programowanie współbieżne Laboratorium nr 11 Wykonywane w danym momencie programy nazwano procesami [1] - izolowanymi, niezależnie wykonywanymi programami, dla których system operacyjny przydzielał pamięć,
Bardziej szczegółowoWspółbieżność w Javie. Dariusz Wawrzyniak 1. Dziedziczenie z klasy Thread definicja klasy pochodnej od Thread,
Wielowątkowość (obsługa wątków) Tworzenie wątków Stany wątków i ich zmiana Demony Grupy wątków Synchronizacja wątków wzajemne wykluczanie oczekiwanie na zmiennych warunkowych pakiet java.util.concurrent
Bardziej szczegółowoc Radosªaw Klimek Vincent Van GOGH: M»czyzna pij cy li»ank kawy J zyk programowania Java
J zyk programowania JAVA c 2011-12 Vincent Van GOGH: M»czyzna pij cy li»ank kawy W tki Proces to wykonuj cy si program wraz z dynamicznie przydzielanymi mu przez system zasobami (np. pami ci operacyjn,
Bardziej szczegółowoWSPÓŁBIEŻNOŚĆ. MATERIAŁY:
WSPÓŁBIEŻNOŚĆ ZAGADNIENIA: procesy, wątki, synchronizacja, synchronizacja w Java 5.0 blokady, egzekutory, zbiory wątków MATERIAŁY: http://docs.oracle.com/javase/tutorial/essential/concurrency/ HTTP://USERS.UJ.EDU.PL/~CIESLA/
Bardziej szczegółowoPrzetwarzanie równoległe i współbieżne
Wątki Threads Wątki (Threads) Concurrent programming is like stepping into an entirely new world and learning a new programming language!!! (grząski grunt) Unikaj jeśli możesz rozwiazać problem! Implementacja
Bardziej szczegółowoProgramowanie wielowątkowe: podstawowe koncepcje, narzędzia w Javie. J. Starzyński, JiMP2, rok akad. 2005/2006
Programowanie wielowątkowe: podstawowe koncepcje, narzędzia w Javie J. Starzyński, JiMP2, rok akad. 2005/2006 Tematyka Wprowadzenie Podstawowe pojęcia Tworzenie i uruchamianie wątków Zatrzymywanie wątków
Bardziej szczegółowoWątki (Threads) Potrzeby. Przetwarzanie równoległe i współbieŝne. Cechy programowania wątkowego. Concurrent programming is like
Wątki (Threads) Concurrent programming is like stepping into an entirely new world and learning a new programming language!!! (grząski grunt) Unikaj jeśli moŝesz! Oparte są zwykle na wielozadaniowym SO
Bardziej szczegółowoProgramowanie równoległe i rozproszone. W1. Wielowątkowość. Krzysztof Banaś Programowanie równoległe i rozproszone 1
Programowanie równoległe i rozproszone W1. Wielowątkowość Krzysztof Banaś Programowanie równoległe i rozproszone 1 Problemy współbieżności wyścig (race condition) synchronizacja realizowana sprzętowo (np.
Bardziej szczegółowoJava. Programowanie Obiektowe Mateusz Cicheński
Java Programowanie Obiektowe Mateusz Cicheński Wielowątkowość Proces a wątek? Thread vs Runnable sleep(), interrupt(), join() Problemy wielowątkowości Obiekty niemodyfikowalne (immutable) Serializacja
Bardziej szczegółowo1 Wątki 1. 2 Tworzenie wątków 1. 3 Synchronizacja 3. 4 Dodatki 3. 5 Algorytmy sortowania 4
Spis treści 1 Wątki 1 2 Tworzenie wątków 1 3 Synchronizacja 3 4 Dodatki 3 5 Algorytmy sortowania 4 6 Klasa Runnable 4 Temat: Wątki Czym są wątki. Grafika. Proste animacje. Małe podsumowanie materiału.
Bardziej szczegółowoProgramowanie wielowątkowe. Tomasz Borzyszkowski
Programowanie wielowątkowe Tomasz Borzyszkowski Wątki a procesy Jako jeden z niewielu języków programowania Java udostępnia użytkownikowi mechanizmy wspierające programowanie wielowątkowe. Program wielowątkowy
Bardziej szczegółowoJęzyki i Techniki Programowania II. Wykład 7. Współbieżność 1
Języki i Techniki Programowania II Wykład 7 Współbieżność 1 Programy, Procesy, Wątki Program to zestaw instrukcji do wykonania, dane do przetworzenia, mechanizmy sterujące (stos) Proces w komputerze to
Bardziej szczegółowoPodstawy współbieżności
Podstawy współbieżności Algorytmy i struktury danych. Wykład 6. Rok akademicki: 2010/2011 Od koncepcji współbieżności do systemów rozproszonych Współbieżnośd rozważany na poziomie koncepcyjnym sposób realizacji
Bardziej szczegółowoInterfejsy, klasy wewn trzne jako szczególny rodzaj obiektów
Interfejsy, klasy wewn trzne jako szczególny rodzaj obiektów Robert A. Kªopotek r.klopotek@uksw.edu.pl Wydziaª Matematyczno-Przyrodniczy. Szkoªa Nauk cisªych, UKSW 16.03.2017 Interfejsy raz jeszcze "Interfejsy
Bardziej szczegółowoWielowątkowość mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011
Wielowątkowość mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 Uruchomienie programu powoduje stworzenie nowego procesu przez system operacyjny. Proces wykonywany program wraz
Bardziej szczegółowoKolekcje obiektów. Wyj tki.
Kolekcje obiektów. Wyj tki. Robert A. Kªopotek r.klopotek@uksw.edu.pl Wydziaª Matematyczno-Przyrodniczy. Szkoªa Nauk cisªych, UKSW 30.03.2017 Kolekcje obiektów Kolekcje obiektów (Java Collections) sªu»
Bardziej szczegółowoAplikacje w Javie- wykład 11 Wątki-podstawy
1 Aplikacje w Javie- wykład 11 Wątki-podstawy Treści prezentowane w wykładzie zostały oparte o: Barteczko, JAVA Programowanie praktyczne od podstaw, PWN, 2014 http://docs.oracle.com/javase/8/docs/ http://docs.oracle.com/javase/9/docs/
Bardziej szczegółowoJava a dost p do Internetu.
Java a dost p do Internetu. Robert A. Kªopotek r.klopotek@uksw.edu.pl Wydziaª Matematyczno-Przyrodniczy. Szkoªa Nauk cisªych, UKSW 20.04.2017 Java a dost p do Internetu Java Networking - jest koncepcj
Bardziej szczegółowoRozwi zania klasycznych problemów w Rendezvous
Cz ± I Rozwi zania klasycznych problemów w Rendezvous 1 Producenci i konsumenci Na pocz tek rozwa»my wersj z jednym producentem i jednym konsumentem, dziaªaj cymi w niesko«czonych p tlach. Mechanizm komunikacji
Bardziej szczegółowoAplikacja wielow tkowa prosty komunikator
Aplikacja wielow tkowa prosty komunikator Klient 0 (host 1) W tek 0 Komponent serwera W tek pochodny 3.1 Klient 1 (host 2) W tek 1 Komponent serwera W tek pochodny 3.2 Host 4 Serwer W tek 3 Klient 2 (host
Bardziej szczegółowoSystemy Rozproszone - Ćwiczenie 4
Systemy Rozproszone - Ćwiczenie 4 1 Synchronizacja wątków: myjnia samochodowa Poniżej znajduje się przykład ilustrujący klasyczny problem synchronizacji wątków. Obiekt klasy Car jest współdzielony przez
Bardziej szczegółowoW Javie wątki są obiektami zdefiniowanymi za pomocą specjalnego rodzaju klas.
WspółbieŜność W programowaniu sekwencyjnym, kaŝdy program ma początek, sekwencje instrukcji do wykonania i koniec. W kaŝdym momencie działania programu moŝemy wskazać miejsce, w którym znajduje się sterowanie.
Bardziej szczegółowoProgramowanie równoległe i rozproszone. Monitory i zmienne warunku. Krzysztof Banaś Programowanie równoległe i rozproszone 1
Programowanie równoległe i rozproszone Monitory i zmienne warunku Krzysztof Banaś Programowanie równoległe i rozproszone 1 Problemy współbieżności Problem producentów i konsumentów: jedna grupa procesów
Bardziej szczegółowo4.1 Napisz kod, w którym definiujesz, tworzysz oraz uruchamiasz wątki z uŝyciem klas java.lang.thread oraz java.lang.runnable.
WĄTKI 4.1 Napisz kod, w którym definiujesz, tworzysz oraz uruchamiasz wątki z uŝyciem klas java.lang.thread oraz java.lang.runnable. 4.2 Opisz stany w jakich wątek moŝe się znajdować oraz opisz sytuacje,
Bardziej szczegółowoSystemy Rozproszone - Ćwiczenie 6
Systemy Rozproszone - Ćwiczenie 6 1 Obiekty zdalne Celem ćwiczenia jest stworzenie obiektu zdalnego świadczącego prostą usługę nazewniczą. Nazwy i odpowiadające im punkty końcowe będą przechowywane przez
Bardziej szczegółowoJava jako zdalny interfejs aplikacji Webowych aplety
Java jako zdalny interfejs aplikacji Webowych aplety Robert A. Kªopotek r.klopotek@uksw.edu.pl Wydziaª Matematyczno-Przyrodniczy. Szkoªa Nauk cisªych, UKSW 18.05.2017 Java Applet Aplet to specjalny typ
Bardziej szczegółowoProgramowanie i struktury danych
Programowanie i struktury danych Wykªad 3 1 / 37 tekstowe binarne Wyró»niamy dwa rodzaje plików: pliki binarne pliki tekstowe 2 / 37 binarne tekstowe binarne Plik binarny to ci g bajtów zapami tanych w
Bardziej szczegółowoKurs programowania. Wykład 9. Wojciech Macyna. 28 kwiecień 2016
Wykład 9 28 kwiecień 2016 Java Collections Framework (w C++ Standard Template Library) Kolekcja (kontener) Obiekt grupujacy/przechowuj acy jakieś elementy (obiekty lub wartości). Przykładami kolekcji sa
Bardziej szczegółowoKurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016
Wykład 1 3 marca 2016 Słowa kluczowe języka Java abstract, break, case, catch, class, const, continue, default, do, else, enum, extends, final, finally, for, goto, if, implements, import, instanceof, interface,
Bardziej szczegółowoWzorce projektowe strukturalne cz. 1
Wzorce projektowe strukturalne cz. 1 Krzysztof Ciebiera 19 pa¹dziernika 2005 1 1 Wst p 1.1 Podstawowe wzorce Podstawowe wzorce Podstawowe informacje Singleton gwarantuje,»e klasa ma jeden egzemplarz. Adapter
Bardziej szczegółowoProgramowanie w Sieci Internet. Python: Wątki. Kraków, 12 grudnia 2014 r. mgr Piotr Rytko Wydział Matematyki i Informatyki
Programowanie w Sieci Internet Python: Wątki Kraków, 12 grudnia 2014 r. mgr Piotr Rytko Wydział Matematyki i Informatyki Wątki akt pierwszy, kilka przydatnych funkcji Lib/threading.py modół pozwalający
Bardziej szczegółowoProgramowanie wspóªbie»ne
1 Programowanie wspóªbie»ne wiczenia 5 monitory cz. 1 Zadanie 1: Stolik dwuosobowy raz jeszcze W systemie dziaªa N par procesów. Procesy z pary s nierozró»nialne. Ka»dy proces cyklicznie wykonuje wªasnesprawy,
Bardziej szczegółowo0.1 Hierarchia klas. 0.1.1 Diagram. 0.1.2 Krótkie wyjaśnienie
0.1 Hierarchia klas 0.1.1 Diagram 0.1.2 Krótkie wyjaśnienie Po pierwsze to jest tylko przykładowe rozwiązanie. Zarówno na wtorkowych i czwartkowych ćwiczeniach odbiegaliśmy od niego, ale nie wiele. Na
Bardziej szczegółowoKurs programowania. Wykład 3. Wojciech Macyna. 22 marca 2019
Wykład 3 22 marca 2019 Klasy wewnętrzne Klasa wewnętrzna class A {... class B {... }... } Klasa B jest klasa wewnętrzna w klasie A. Klasa A jest klasa otaczajac a klasy B. Klasy wewnętrzne Właściwości
Bardziej szczegółowoWykład 5. Synchronizacja (część II) Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB
Wykład 5 Synchronizacja (część II) Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB Wady semaforów Jeden z pierwszych mechanizmów synchronizacji Generalnie jest to mechanizm bardzo
Bardziej szczegółowoSemafor nie jest mechanizmem strukturalnym. Aplikacje pisane z użyciem semaforów są podatne na błędy. Np. brak operacji sem_post blokuje aplikację.
J. Ułasiewicz Programowanie aplikacji współbieżnych 1 11 11.1 abstrakcyjne Semafor nie jest mechanizmem strukturalnym. Aplikacje pisane z użyciem semaforów są podatne na błędy. Np. brak operacji sem_post
Bardziej szczegółowoProgramowanie współbieżne Wykład 2. Rafał Skinderowicz
Programowanie współbieżne Wykład 2 Rafał Skinderowicz Program współbieżny a sekwencyjny Program zapis algorytmu, ciąg instrukcji do wykonania przez procesor: statyczny sekwencja instrukcji przekształcających
Bardziej szczegółowoSemafor nie jest mechanizmem strukturalnym. Aplikacje pisane z użyciem semaforów są podatne na błędy. Np. brak operacji sem_post blokuje aplikację.
J. Ułasiewicz Programowanie aplikacji współbieżnych 1 11 Semafor nie jest mechanizmem strukturalnym. Aplikacje pisane z użyciem semaforów są podatne na błędy. Np. brak operacji sem_post blokuje aplikację.
Bardziej szczegółowoProgramowanie i projektowanie obiektowe
Programowanie i projektowanie obiektowe Przykład symulacji Paweł Daniluk Wydział Fizyki Jesień 2012 P. Daniluk (Wydział Fizyki) PO w. XII Jesień 2012 1 / 18 Symulacja sieci kolejowej A B C Zasady Na torze
Bardziej szczegółowoProgramowanie współbieżne Wykład 5. Rafał Skinderowicz
Programowanie współbieżne Wykład 5 Rafał Skinderowicz Monitory motywacje Mechanizmy synchronizacji takie jak blokady (zamki) semafory pozwalają efektywnie rozwiązywać dostępu do współdzielonych zasobów,
Bardziej szczegółowo1 Klasy. 1.1 Denicja klasy. 1.2 Skªadniki klasy.
1 Klasy. Klasa to inaczej mówi c typ który podobnie jak struktura skªada si z ró»nych typów danych. Tworz c klas programista tworzy nowy typ danych, który mo»e by modelem rzeczywistego obiektu. 1.1 Denicja
Bardziej szczegółowo1. Co można powiedzieć o poniższym kodzie (zakładając, że zaimportowano wszystkie niezbędne klasy)?
1. Co można powiedzieć o poniższym kodzie (zakładając, że zaimportowano wszystkie niezbędne klasy)? public static void test1() { Object[] o = new Object[] { "1", "2", "3" ; List l = new ArrayList(Arrays.asList(o));
Bardziej szczegółowo1. Co można powiedzieć o poniższym kodzie (zakładając, że znajduje się on w jednym pliku A.java)?
1. Co można powiedzieć o poniższym kodzie (zakładając, że znajduje się on w jednym pliku A.java)? public class A { public int i; { i++; System.out.print(i); public static void main(string[] args) { A a1
Bardziej szczegółowoKompozycja i dziedziczenie klas
Programowanie obiektowe Kompozycja i dziedziczenie klas Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Kompozycja i dziedziczenie klas
Bardziej szczegółowoPodstawy i języki programowania
Podstawy i języki programowania Laboratorium 8 - wprowadzenie do obsługi plików tekstowych i wyjątków mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 11 grudnia 2017 1 / 34 mgr inż. Krzysztof
Bardziej szczegółowoAplikacje RMI. Budowa aplikacji rozproszonych. Część 2.
Aplikacje RMI Część 2 Budowa aplikacji rozproszonych http://java.sun.com/j2se/1.5.0/docs/guide/rmi/socketfactory/index.html I. Implementacja gniazd dziedziczących po Socket i ServerSocket oraz produkcji
Bardziej szczegółowoSposoby przekazywania parametrów w metodach.
Temat: Definiowanie i wywoływanie metod. Zmienne lokalne w metodach. Sposoby przekazywania parametrów w metodach. Pojcia klasy i obiektu wprowadzenie. 1. Definiowanie i wywoływanie metod W dotychczas omawianych
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 2: Wstęp do języka Java 3/4/2013 S.Deniziak: Programowanie obiektowe - Java 1 Cechy języka Java Wszystko jest obiektem Nie ma zmiennych globalnych Nie ma funkcji globalnych
Bardziej szczegółowoKurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016
Wykład 2 17 marca 2016 Dziedziczenie Klasy bazowe i potomne Dziedziczenie jest łatwym sposobem rozwijania oprogramowania. Majac klasę bazowa możemy ja uszczegółowić (dodać nowe pola i metody) nie przepisujac
Bardziej szczegółowoObiektowe programowanie rozproszone Java RMI. Krzysztof Banaś Systemy rozproszone 1
Obiektowe programowanie rozproszone Java RMI Krzysztof Banaś Systemy rozproszone 1 Java RMI Mechanizm zdalnego wywołania metod Javy (RMI Remote Method Invocation) posiada kilka charakterystycznych cech,
Bardziej szczegółowoProgramowanie sieciowe
Programowanie sieciowe mgr Marcin Raniszewski mgr inŝ. Paweł Kośla Łódź, 2009 Wykład 6: Wielowątkowość, operacje na plikach, kolekcje 1 Plan wykładu Wątki (klasa Thread i interfejs Runnable) Synchronizacja
Bardziej szczegółowoKurs programowania. Wykład 9. Wojciech Macyna
Wykład 9 Java Collections Framework (w C++ Standard Template Library) Kolekcja (kontener) Obiekt grupujacy/przechowuj acy jakieś elementy (obiekty lub wartości). Przykładami kolekcji sa zbiór, lista czy
Bardziej szczegółowoStworzenie klasy nie jest równoznaczne z wykorzystaniem wielowątkowości. Uzyskuje się ją dopiero poprzez inicjalizację wątku.
Laboratorium 7 Wstęp Jednym z podstawowych własności Javy jest wielowątkowość. Wiąże się to z możliwością współbieżnego wykonywania różnych operacji w ramach pojedynczej wirtualnej maszyny Javy (JVM).
Bardziej szczegółowoWIELOWĄTKOWOŚĆ. Waldemar Korłub. Platformy Technologiczne KASK ETI Politechnika Gdańska
WIELOWĄTKOWOŚĆ Waldemar Korłub Platformy Technologiczne KASK ETI Politechnika Gdańska Wydajność 2 Do 2005 roku wydajność komputerów poprawiano zwiększając częstotliwość taktowania procesora 1995: Pentium
Bardziej szczegółowoOriginal edition copyright 2012 by The McGraw-Hill Companies, Inc. All rights reserved.
Tytuł oryginału: Java, A Beginner's Guide, 5th Edition Tłumaczenie: Jaromir Senczyk ISBN: 978-83-246-3919-9 Original edition copyright 2012 by The McGraw-Hill Companies, Inc. All rights reserved. Polish
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe III. Refleksja Małgorzata Prolejko OBI JA16Z03 Plan Klasa Class. Analiza funkcjonalności klasy. Podstawy obsługi wyjątków. Zastosowanie refleksji do analizy obiektów. Wywoływanie
Bardziej szczegółowoWątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego
Wątki Wątek - definicja Ciąg instrukcji (podprogram) który może być wykonywane współbieżnie (równolegle) z innymi programami, Wątki działają w ramach tego samego procesu Współdzielą dane (mogą operować
Bardziej szczegółowoTypy uogólnione. Robert A. Kªopotek Wydziaª Matematyczno-Przyrodniczy. Szkoªa Nauk cisªych, UKSW
Typy uogólnione. Robert A. Kªopotek r.klopotek@uksw.edu.pl Wydziaª Matematyczno-Przyrodniczy. Szkoªa Nauk cisªych, UKSW 23.03.2017 Typy uogólnione (1/2) Typy uogólnione (generyczne) s to typy parametryzowane
Bardziej szczegółowoProgramowanie współbieżne i rozproszone
Programowanie współbieżne i rozproszone WYKŁAD 1 dr inż. Literatura ogólna Ben-Ari, M.: Podstawy programowania współbieżnego i rozproszonego. Wydawnictwa Naukowo-Techniczne, Warszawa, 2009. Czech, Z.J:
Bardziej szczegółowoAplikacja wielowątkowa prosty komunikator
Aplikacja wielowątkowa prosty komunikator Klient 0 (host 1) Wątek 0 Komponent serwera Wątek pochodny 3.1 Klient 1 (host 2) Wątek 1 Komponent serwera Wątek pochodny 3.2 Host 4 Serwer Wątek 3 Klient 2 (host
Bardziej szczegółowoPrzykłady interfejsu TCP i UDP w Javie
Przykłady interfejsu TCP i UDP w Javie W Javie interfejsy TCP i UDP znajdują się w pakiecie java.net http://docs.oracle.com/javase/6/docs/api/java/net/packagesummary.html 1 Przykład interfejsu UDP Protokół
Bardziej szczegółowoProgramowanie Obiektowe Java
Programowanie Obiektowe Java Małgorzata Janik Zakład Fizyki Jądrowej malgorzata.janik@pw.edu.pl http://java.fizyka.pw.edu.pl/ WDI 27-28 marca https://www.warszawskiedniinformatyki.pl/ (wtorek, środa) Wprowadzenie
Bardziej szczegółowoProgramowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków
Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków mgr inż. Maciej Lasota Version 1.0, 13-05-2017 Spis treści Wyjątki....................................................................................
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 5 Marcin Młotkowski 23 marca 2017 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie obiektowe 2 / 50 Historia Początkowe założenia Projekt OAK Sterowanie urządzeniami
Bardziej szczegółowoInterfejsy w Java. Przetwarzanie równoległe. Wątki.
Informatyka I Interfejsy w Java. Przetwarzanie równoległe. Wątki. dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2017 Interfejsy w Java Pojęcie interfejsu w programowaniu Deklaracja
Bardziej szczegółowoJava: kilka brakujących szczegółów i uniwersalna nadklasa Object
Java: kilka brakujących szczegółów i uniwersalna nadklasa Object Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU Konstrukcja obiektów Niszczenie obiektów i zwalnianie zasobów
Bardziej szczegółowoKurs programowania. Wykład 13. Wojciech Macyna. 14 czerwiec 2017
Wykład 13 14 czerwiec 2017 Java vs cpp - podobieństwa Podobny sposób definiowania klas. Występowanie typów podstawowych: boolean, char, byte, short, int, long, float, double. Podobna zasada definiowania
Bardziej szczegółowoMonitory. Jarosław Kuchta
Monitory Jarosław Kuchta Co to jest monitor Monitor to zebrane w jednej konstrukcji programowej zmienne i operacje na tych zmiennych. Część tych operacji jest udostępnianych na zewnątrz monitora. Tylko
Bardziej szczegółowoMultimedia JAVA. Historia
Multimedia JAVA mgr inż. Piotr Odya piotrod@sound.eti.pg.gda.pl Historia 1990 rozpoczęcie prac nad nowym systemem operacyjnym w firmie SUN, do jego tworzenia postanowiono wykorzystać nowy język programowania
Bardziej szczegółowoWyjątki. Streszczenie Celem wykładu jest omówienie tematyki wyjątków w Javie. Czas wykładu 45 minut.
Wyjątki Streszczenie Celem wykładu jest omówienie tematyki wyjątków w Javie. Czas wykładu 45 minut. Wydaje się, że żaden użytkownik oprogramowania nie lubi, kiedy stosowany program nagle zawiesza się,
Bardziej szczegółowoKontenery i komponenty graficzne
JAVA Kontenery i komponenty graficzne Bibliografia: JAVA Szkoła programowania, D. Trajkowska Ćwiczenia praktyczne JAVA. Wydanie III,M. Lis Opracował: Andrzej Nowak Kontenery Aplikacja okienkowa składa
Bardziej szczegółowoDokumentacja do API Javy.
Dokumentacja do API Javy http://java.sun.com/j2se/1.5.0/docs/api/ Klasy i obiekty Klasa jest to struktura zawierająca dane (pola), oraz funkcje operujące na tych danych (metody). Klasa jest rodzajem szablonu
Bardziej szczegółowoModel pamięci. Rafał Skinderowicz
Model pamięci Rafał Skinderowicz Czym jest model pamięci Model pamięci dotyczy programów współbieżnych W programie współbieżnym może się zdarzyć, że dany wątek nie będzie widział od razu wartości zmiennej
Bardziej szczegółowo1. Co będzie wynikiem wykonania poniŝszych instrukcji? g2d.gettransform().scale(1, -1); g2d.gettransform().translate(4, -8); g2d.drawline(4, 0, 4, 4);
1. Co będzie wynikiem wykonania poniŝszych instrukcji? g2d.gettransform().scale(1, -1); g2d.gettransform().translate(4, -8); g2d.drawline(4, 0, 4, 4); a) b) c) d) 2. Jaki będzie wynik kompilacji i wykonania
Bardziej szczegółowoJęzyk JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy Wykład 3, część 3 1 Język JAVA podstawy Plan wykładu: 1. Konstrukcja kodu programów w Javie 2. Identyfikatory, zmienne 3. Typy danych 4. Operatory, instrukcje sterujące instrukcja warunkowe,
Bardziej szczegółowoJęzyki Programowania II Wykład 3. Java podstawy. Przypomnienie
Języki Programowania II Wykład 3 Java podstawy Przypomnienie Analiza, projektowanie, programowanie, testowanie, wdrażanie Iteracyjnie nie kaskadowo Przypadki użycia = opowiastki o używaniu systemu = wymagania
Bardziej szczegółowoOperatory. Składnia. Typy proste. Znaki specjalne
Składnia Operatory komentarze // /* */ /** */ litery A.. Z, a.. z, \udddd dddd>00c0 identyfikatory pierwszy znak= _, lub litera, następne dodatkowo 0.. 9 liczby dziesiętne Ddddd (D 0) liczby ósemkowe 0dddd
Bardziej szczegółowo1 Atrybuty i metody klasowe
1 Atrybuty i metody klasowe Składowe klasowe (statyczne) Każdy obiekt klasy posiada własny zestaw atrybutów. Metody używają atrybutów odpowiedniego obiektu. Czasem potrzeba atrybutów wspólnych dla wszystkich
Bardziej szczegółowoProgramowanie obiektowe
Przygotował: Jacek Sroka 1 Programowanie obiektowe Wykład 3 Java podstawy Przygotował: Jacek Sroka 2 Przypomnienie Analiza, projektowanie, programowanie, testowanie, wdrażanie Iteracyjnie nie kaskadowo
Bardziej szczegółowoPlatformy Programistyczne Podstawy języka Java
Platformy Programistyczne Podstawy języka Java Agata Migalska 6 maja 2014 Plan wykładu 1 Sztuka wysławiania się w języku Java 2 Cały świat jest obiektem 3 Kolekcje 4 Zmienne i metody statyczne 5 Słowo
Bardziej szczegółowo1. Co można powiedzieć o poniższym kodzie? public interface I { void m1() {}; static public void m2() {}; void abstract m3();
1. Co można powiedzieć o poniższym kodzie? public interface I { void m1() {; static public void m2() {; void abstract m3(); default static void m4() {; a) Poprawnie zadeklarowano metodę m1() b) Poprawnie
Bardziej szczegółowo