c Radosªaw Klimek Vincent Van GOGH: M»czyzna pij cy li»ank kawy J zyk programowania Java
|
|
- Justyna Komorowska
- 7 lat temu
- Przeglądów:
Transkrypt
1 J zyk programowania JAVA c Vincent Van GOGH: M»czyzna pij cy li»ank kawy
2 W tki Proces to wykonuj cy si program wraz z dynamicznie przydzielanymi mu przez system zasobami (np. pami ci operacyjn, zasobami plikowymi). Ka»dy proces ma wªasn przestrze«adresow. W tek to sekwencja dziaªa«, która wykonuje si w kontek±cie danego procesu (programu) Ka»dy proces ma co najmniej jeden wykonuj cy si w tek. W systemach wielow tkowych proces mo»e wykonywa równolegle (teoretycznie) wiele w tków, które wykonuj si w jednej przestrzeni adresowej procesu.
3 Programowanie wielow tkowe Cech charakterystyczn programowania wielow tkowego jest to,»e tworzone programy dzieli si na wieksz liczb procesów, które mog by wykonywane równocze±nie. Wiele zada«wyst puj cych w interakcyjnych programach jest wykonywanych wspóªbie»nie. Zadania, które mog by wykonywane wspóªbie»nie to np: odczytywanie i zapisywanie plików korzystanie z zasobów sieciowych reagowanie na dane wprowadzane przez u»ytkownika wykonywanie skomplikowanych trwaj cych dªugo oblicze«wy±wietlanie animacji i interfejsów u»ytkonika
4 Wkorzystanie w tków Reasumuj c, w tki mo»na wykorzysta w wielu sytuacjach: Wszelkie obliczenia, które mog zablokowa interfejs u»ytkownika powinny by wykonywane asynchronicznie Animacje, które powinny by przetwarzane niezale»nie od interfejsu u»ytkownika Pobieranie danych z internetu (zamiast przetwarza strony internetowe jedna po drugiej mo»na poª czy si np. z 10 jednocze±nie) W ogólno±ci wszystkie operacje wej±cia/wyj±cia, zapis i odczyt plików, czy baz danych Zªo»one obliczenia, które mog by podzielone na mniejsze podzadania I wiele innych
5 Jednow tkowa p tla zdarze«w systemach jednow tkowych stosowane jest rozwi zanie zwane p tl zdarze«z odpytywaniem. W takim modelu istnieje jedna p tla niesko«czona, w której wykonywane s kolejne w tki pobierane z kolejki procesów. Poszczególne w tki wykonywane s przez odpowiadaj ce im procedury obsªugi zdarze«. Do zako«czenia bie» cego w tku, nie mo»e by w systemie podj te»adne inne dziaªanie.
6 Systemy wielow tkowe Równolegªo± dziaªania w tków osi gana jest przez mechanizm przydzielania czasu procesora poszczególnym wykonuj cym si w tkom. Ka»dy w tek uzyskuje dost p do procesora na kwant czasu, po czym przekazuje procesor innemu w tkowi. Zmiana w tku wykonywanego przez procesor mo»e dokonywa si na zasadzie: wspóªpracy w tek sam decyduje, kiedy odda czas procesora innym w tkom, wywªaszczania o dost pie w tków do procesora decyduje systemowy zarz dca w tków, który przydziela w tkowi kwant czasu procesora, po upªywie którego odsuwa w tek od procesora i przydziela kolejny kwant czasu innemu w tkowi. Java jest j zykiem wieloplatformowym, a ró»ne systemy operacyjne stosuj ró»ne mechanizmy udost pniania w tkom procesora. Programy wielow tkowe powinny by tak pisane, by dziaªaªy zarówno w ±rodowisku wspóªpracy jak i wywªaszczania.
7 Systemy wielow tkowe W sytemie wielow tkowym wykorzystuje si fakt,»e wi kszo± czasu wykonywania w tku to czas oczekiwania na dost pn ± zasobu. Je»eli wszystkie procesy s niezale»nymi w tkami, a system potra przeªacza si pomi dzy w tkiem oczekuj cym na dany zasób, a w tkiem gotowym do dziaªania, to w tym samym czasie mo»na wykona znacznie wi cej dziaªa«. W Javie nie ma pojedy«czej p tli zdarze«. Je»eli jeden w tek np.: odczytuje dane z sieci czeka na dane wprowadzane przez u»ytkownika albo wy±wietla animacje, nie wykonuj c»adnych innych dziaªa«to pozostaªe w tki mog dziaªa bez jakichkolwiek przerw
8 Systemy wielow tkowe Bardzo wa»ne jest równie» to,»e je±li uruchomimy jeden po drugim np. 10 w tków, to wcale nie b d one wykonywaªy si sekwencyjnie jeden po drugim, je±li sami o to nie zadbamy. Je±li jakie± zadanie nie zd»y si wykona w czasie, który zostaª dla niego przydzielony, to mo»e ono zosta przerwane na pewien czas.
9 Tworzenie w tków W tki w Javie mo»na tworzy na kilka sposobów, poprzez: jawne rozszerzenie klasy Thread stworzenie klasy implementuj cej interfejs Runnable, który mo»e by wykonany w osobnym w tku (Thread) stworzenie klasy implementuj cej interfejs Callable, który mo»e by wykonany w osobnym w tku (Thread) Preferowane jest stosowanie rozszerze«interfejsów, poniewa» daj one du»o lepsz elastyczno±, szczególnie je±li dojdziemy do momentu szeregowania w tków, utrzymywania staªej puli w tków wykonuj cych si w tle. Interfejsy Runnable i Callable s do siebie bardzo podobne, jednak najwa»niejsz ró»nic jest to,»e Callable mo»e zwróci w wyniku pewn warto±, natomiast w przypadku Runnable nie ma takiej mo»liwo±ci.
10 Klasa Thread Podobnie jak wszystkie poj cia Javy, w tki reprezentowane s przez obiekty okre±lonej klasy. W tki reprezentowane s przez obiekty klasy Thread, która zawiera wszystkie metody do zarz dzania w tkami. Klasa Thread jest jedynym elementem Javy pozwalaj cym na zarz dzanie w tkami. Ka»dy w tek w pewnm momencie zaczyna si, wykonuje okre±lon liczb dziaªa«, po czym ko«czy si.
11 Metody klasy Thread Metody klasy Thread dzielimy na Metody statyczne wywoªuje si je bezpo±rednio z nazw klasy: Thread. c u r r e n t T h r e a d ( ) Metody zwi zane z obiektami nie s metodami statycznymi, mo»na z nich korzysta dopiero po utworzeniu obiektu klasy Thread.
12 Metody statyczne zestawienie Metoda currentthread() zwraca obiekt klasy Thread reprezentuj cy bie» cy w tek. Metoda yield() poleca systemowi czasu przebiegu Javy przerwanie wykonywania bie»acego w tku i przekazanie procesora nast pnemu oczekuj cemu w tkowi. Jest to jedyny sposób uzyskania pewno±ci,»e w tki o najni»szych priorytetach b d kiedykolwiek wykonane. Metoda sleep(int n) poleca systemowi czasu przebiegu u±pienie bie»acego w tku na n milisekund. Po upªywie tego czasu w tek b dzie gotowy do dziaªania.
13 Metody zwi zane z obiektami zestawienie Trzy podstawowe metody klasy Thread: Metoda start() poleca utworzenie i uruchomienie nowego w tku. Jego dziaªanie polega na wykonaniu metody run() nale» cej do obiektu wskazanego podczas tworzenia danego w tku. Niedozwolone jest wielokrotne wywoªywanie tej metody dla tego samego w tku. Metoda run() Jest to zasadnicza cze± ka»dego w tku. Nie nale»y ona do klasy Thread, jest to jedyna metoda interfejsu Runnable. Wywoªuje j metoda Metoda start() po poprawnym utworzeniu nowego w tku. Zako«czenie dziaªania metody run() oznacza zatrzymanie zwi zanego z ni w tku. Metoda inerrupt() umo»liwia przerwanie dziaªania w tku.
14 Inne metody klasy Thread zestawienie Metoda suspend() zawieszenie w tku Metoda resume() wznawienie wykonywania zawieszonego w tku Metoda setpriority(int p) Ustawia priorytet w tku Metoda getpriority() Pobiera i zwraca priorytet w tku Metoda setname(string name) Ustawia nazw w tku Metoda getname() Pobiera i zwraca nazw w tku Metoda stop() powoduje natychmiastowe zatrzymanie w tku. W tek przestaje istnie. i inne: wait(), notify(), notifyall(), isalive(), join()...
15 Tworzenie w tków Program korzystaj cy z wi cej ni» jednego w tku mo»emy utworzy na dwa sposoby: Bezpo±rednio poprzez dziedziczenie klasy Thread Po±rednio poprzez implementacj interfejsu Runnable.
16 Dziedziczenie klasy Thread Bezpo±rednie dziedziczenie z klasy Thread 1 c l a s s MyThread extends Thread { p u b l i c void run ( ) { } 6 } Tworzenie obiektu i uruchamianie w tku: 1 MyThread t = new MyThread ( ) ; 2 t. s t a r t ( ) ;
17 Implementacja Runnable Po±rednie poprzez implementacj interfejsu Runnable. 1 c l a s s MyThreadR implements Runnable { p u b l i c void run ( ) { } 6 } Tworzenie obiektu i uruchamianie w tku: 1 MyThreadR r = new MyThreadR ( ) ; 2 Thread t = new Thread ( r ) ; 3 t. s t a r t ( ) ; Wykorzystanie interfejsu jest szczególnie przydatne, gdy dana klasa (klasa w tku) dziedziczy ju» z innej klasy (w Javie nie mo»na dziedziczy z dwóch ró»nych klas).
18 Tworzenie i uruchamianie w tków przykªad Przykªadowa implementacja interfejsu Runnable: 1 p u b l i c c l a s s Watek1 i m p l e m e n t s Runnable { 2 p u b l i c v o i d run ( ) { 3 System. out. p r i n t l n ( " to j e s t watek i m p l e m e n t u j a c y i n t e r f e j s Runnable " ) ; 4 } 5 } Rozszerzenie klasy Thread: 1 p u b l i c c l a s s Watek2 e x t e n d s Thread { 2 p u b l i c v o i d run ( ) { 3 System. out. p r i n t l n ( " to j e s t watek r o z s z e r z a j a c y k l a s e Thread " ) ; 4 } 5 } A teraz tworzymy i uruchamiamy nasze w tki: 1 p u b l i c c l a s s Uruchom { 2 3 p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { 4 Watek1 w1 = new Watek1 ( ) ; 5 Watek2 w2 = new Watek2 ( ) ; 6 7 ( new Thread (w1 ) ). s t a r t ( ) ; 8 w2. s t a r t ( ) ; 9 10 } 11 }
19 Omówienie przykªadu Tworzymy dwa w tki w1 i w2. Pierwszy z nich to obiekt klasy implementuj cej interfejs Runnable, drugi to obiekt klasy dziedzicz cej z klasy Thread. Tutaj wida podstawow ró»nic pomi dzy obiema metodami tworzenia klas. Zaimplementowanie interfejsu wymusza stworzenie obiektu Thread, któremu jako parametr konstruktora dajemy obiekt implementuj cy Runnable. Dopiero tak utworzony obiekt posiada metod start(), która uruchamia w tek. Drugie podej±cie powoduje i» nie musimy tworzy dodatkowego obiektu. Które podej±cie jest lepsze? Oczywi±cie poprzez implementacj interfejsu Runnable poniewa»: opiera si na interfejsach co jest znacznie bardziej elastyczn metod ni» dziedziczenie. nie zaburza hierarchii klas poprzez dziedziczenie z klasy Thread.
20 Priorytety w tków Java z ka»dym w tkiem programu kojarzy priorytet, informuj cy o tym jak nale»y traktowa w tek w stosunku do innych w tków programu. Priorytet jest liczb caªkowit z zakresu od MIN_PRIORITY(1) do MAX_PRIORITY (10). Domy±lnym priorytetem jest NORM_PRIORITY (5). Ogólna zasada mówi,»e w tki o wysokich priorytech powinny by wykonywane cz ±ciej ni» w tki o niskich priorytetech. Do ustawiania priorytetu w tku sªu»y metoda: setpriority(int p).
21 Synchronizacja Tworz c w tki nale»y pami ta,»e wspóªdziel one pomi dzy sob pami i zasoby. Mo»e to prowadzi do kolizji, a te do bª dów. Bª dy spowodowane przez kolizje jest bardzo ci»ko znale¹ i usun. Je»eli dwa albo wi cej w tków ubiega si do wspóªdzielonych zasobów to musimy zapewni im synchronizacj. W Javie realizowana jest ona za pomoc wbudowanych elementów j zykowych, tzw monitorów, czyli obiektu u»ywanego jako blokady, umo»liwiaj cej wzajemne wykluczanie si w tków. W danej chwili tylko jeden w tek mo»e znajdowa si w monitorze pozostaªe s w zawieszeniu, czekaj c na jego zwolnienie.
22 Przykªad bez synchronizacji 1 p u b l i c c l a s s Uruchom { 2 p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { 3 Watek1 w1 = new Watek1 ( ) ; 4 Watek2 w2 = new Watek2 ( ) ; 5 6 ( new Thread (w1 ) ). s t a r t ( ) ; 7 ( new Thread (w2 ) ). s t a r t ( ) ; 8 } 9 p u b l i c c l a s s Watek1 i m p l e m e n t s Runnable { 10 p u b l i c v o i d run ( ) { 11 f o r ( i n t i = 0 ; i <100000; i ++){ 12 System. out. p r i n t l n ( "W tek1" ) ; 13 } 14 } 15 } p u b l i c c l a s s Watek2 i m p l e m e n t s Runnable { 18 p u b l i c v o i d run ( ) { 19 f o r ( i n t i = 0 ; i <100000; i ++){ 20 System. out. p r i n t l n ( "W tek2" ) ; 21 } 22 } 23 } 24 } Po uruchomieniu programu oka»e si,»e przez pewien czas wypisywane s naprzemiennie oba napisy. Z tego wnosek,»e w tki wykonywane s naprzemiennie.
23 Synchronized Je»eli istnieje jedna lub wiecej metod maj cych wpªyw na wewn trzy stan obiektu w ±rodowisku wielow tkowym nale»y zastosowa mechanizm synchronizacji. Poprzez umieszczenie tych metod w blokach synchronizowanych u»ywakj c sªowa kluczowego synchronized. Ogólna posta bloku synchronizownego: 1 s y n c h r o n i z e d ( o b i e k t ) i n s t r u k c j a albo: obiekt to odwoªanie do dowolnego obiektu. instrukcja to najcz sciej instrukcja zªo»ona zawieraj ca wywoªanie jednej z metod obiektu. 1 s y n c h r o n i z e d metoda ( ) { } gdzie metoda jest synchronizowan metod.
24 Przykªad z synchronizacj 1 p u b l i c c l a s s Uruchom { 2 p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { 3 Watek1 w1 = new Watek1 ( ) ; 4 Watek2 w2 = new Watek2 ( ) ; 5 6 ( new Thread (w1 ) ). s t a r t ( ) ; 7 w2. s t a r t ( ) ; 8 } 9 10 p u b l i c s t a t i c s y n c h r o n i z e d v o i d w y p i s z ( S t r i n g t e k s t ){ 11 f o r ( i n t i = 0 ; i <10000; i ++) 12 System. out. p r i n t l n ( i+" : "+t e k s t ) ; 13 } 14 } p u b l i c c l a s s Watek1 17 i m p l e m e n t s Runnable { 18 p u b l i c v o i d run ( ) { 19 Uruchom. wypisz ( "Watek1" ) ; 20 } 21 } p u b l i c c l a s s Watek2 24 e x t e n d s Thread { 25 p u b l i c v o i d run ( ) { 26 Uruchom. wypisz ( "Watek2" ) ; 27 } 28 } Po uruchomieniu programu nie zaobserwujemy ju» wymieszania si tekstów pochodz cych z ró»nych w tków.
25 Wyj tki Wyj tek jest to nietypowa sytuacja pojawiaj ca si podczas wykonywania programun np. wyst pienie bª du polegaj cego na próbie otwarcia pliku, który nie istnieje. Java posiada mechanizm obsªugi wyj tków. Mechanizm obsªugi wyj tków w Javie umo»liwia zaprogramowanie "wyj±cia" sytuacji krytycznych, dzi ki czemu program nie zawiesi si po wyst pieniu bª du wykonuj c ci g operacji obsªuguj cych wyj tek. Wyst pienie sytuacji wyj tkowej przerywa "normalny" tok wykonania programu.
26 Obsªuga wyj tków Czyli: Wyj tek powstaje na skutek jakiego± nieoczekiwanego bª du. Wyj tek jest zgªaszany (lub mówi c inaczej - sygnalizowany). Wyj tek jest (mo»e lub musi by ) obsªugiwany.
27 Brak jawnej obsªugi wyj tku przykªad Próba dzielenia przez zero: 1 p u b l i c c l a s s NoCatch { 2 p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { 3 i n t a = 1, b = 0, c = 0 ; 4 c = a/b ; 5 System. out. p r i n t l n ( c ) ; 6 } 7 } powstaªy bª d (wyj tek) spowoduje zako«czenie programu, a JVM wypisze komunikat o jego przyczynie. 1 E x c e p t i o n i n t h r e a d " main " j a v a. l a n g. A r i t h m e t i c E x c e p t i o n : / by z e r o 2 a t NoCatch. main ( NoCatch. j a v a : 6 )
28 Obsªuga wyj tków W Javie do obsªugi wyj tków sªu»y pi sªów kluczowych: try okre±la sekwencj instrukcji, podczas których mo»e wyst pi bª d. catch przechwytuje wyj tek okre±lonego typu throw sªu»y do generowania wyj tków okre±lonego typu throws okre±la list wszystkich wyj tków generowanych przez dan metod nally blok instrukcji do obsªugi wyj tków wykonywany zawsze, niezale»nie od tego czy dla danego wyj tku istnieje czy nie istnieje blok catch
29 Blok try... catch Do obsªugi wyj tków sªu»y blok try... catch. 1 t r y { 2 b l o k i n s t r u k c j i mog cy spowodowa w y j t e k 3 } 4 c a t c h ( Typ_Wyjatku_1 identyfikator_ Wyjatku_ 1 ) { 5 i n s t r u k c j a o b s ª u g 1 wyj tku_1 6 } 7 c a t c h ( Typ_Wyjatku_2 identyfikator_ Wyjatku_ 2 ) { 8 i n s t r u k c j a o b s ª u g 1 wyj tku_2 9 } 10 c a t c h ( Typ_Wyjatku_N identyfikator_wyjatku_n ) { 11 i n s t r u k c j a o b s ª u g 1 wyj tku_n 12 } 13 [ f i n a l l y i n s t r u k c j a _ o b s ª u g i w y j t k u ] Po try nast puje blok instrukcji mog cych spowodowa wyj tek. Je»eli podczas ich wykonywania zostanie on wygenerowany, wykonywanie zostanie przerwane, a sterowanie przekazane do bloku catch. Tu sprawdzane jest, czy która± z tych instrukcji odpowiada wygenerowanemu wyj tkowi. Je±li tak, wykonany zostanie kod po niej wyst puj cy, je»eli nie to kod z bloku nally (je»eli taki istnieje). Instrukcje z bloku nally wykonywane s zawsze.
30 Blok try... catch sekwencja wykonywania bloku try... catch: Wykonywane s kolejne instrukcje bloku try. Je±li przy wykonaniu której± z instrukcji zostanie zgªoszony wyj tek, wykonanie bloku try jest przerywane w miejscu zgªoszenia wyjatku. Sterowanie przekazywane jest do pierwszej w kolejno±ci klauzuli catch, w której podana w nawiasach okr gªych po sªowie catch klasa wyj tku pasuje do typu powstalego wyj tku, czyli klasa wyjatku jest taka sama jak klasa powstaªego wyj tku lub jest jej dowoln nadklas. Nale»y najpierw zapisywa kluazulecatch z bardziej szczegóªowymi klasami wyj tków: np. najpierw FileNotFoundException, a pó¹niej IOException, bo klasa FileNotFoundException jest pochodna od IOException.
31 Blok try... catch Inne klauzule catch nie s ju» wykonywane. Obsªuguj ca wyj tek klauzula catch mo»e zrobi wiele rzeczy: m.in. zmieni sekwencj sterowania (np. poprzez return). Je±li nie zmienia sekwencji sterowania to wykonanie programu b dzie kontynuowane od nast pnej instrukcji po bloku try. Ale niezaleznie od tego czy wyj tek powstaª czy nie i niezale»nie od tego czy ew. obsªuguj ca go klauzula catch zwraca sterowanie czy nie zawsze zaraz po zako«czeniem dziaªania bloku try wykonana zostanie klauzula nally (o ile jest).
32 Przykªad dzielenie przez zero 1 c l a s s d z i e l e n i e _ p r z e z _ z e r o 2 { 3 p u b l i c s t a t i c v o i d main ( S t r i n g a r g s [ ] ) 4 { 5 i n t b = 0 ; 6 i n t a = ; 7 i n t c ; 8 S t r i n g wynik ; 9 t r y 10 { 11 c = a / b ; 12 wynik = "" + c ; 13 } 14 c a t c h 15 { 16 ( A r i t h m e t i c E x c e p t i o n e ) 17 System. out. p r i n t l n ( " Niedozwolone d z i e l e n i e p r z e z z e r o " ) ; 18 wynik = " " ; 19 } 20 System. out. p r i n t l n ( wynik ) 21 } 22 }
33 Przykªad dzielenie przez zero W tym przypadku, wykonanie instrukcji c = a/b spowoduje powstanie wyj tku (dzielenie przez zero), a poniewa» instrukcja ta znajduje si w bloku try, w którym znajduje si blok catch z odpowiednim typem wyj tku, to je»eli b = 0 sterowanie zostanie przekazane do kodu w catch wyprowadzony zostanie napis "Niedozwolone dzielenie przez zero" pod zmienn wynik podstawione zostanie "***" zostanie wypisana zmienna wynik czyli "***" Gdyby zmienna b nie miaªa warto±ci zero, wyj tek by nie powstaª, kod z bloku catch nie zostaª by wykonany i wy±wietlony by zostaª wynik dzielenia a/b.
34 wyj tki - werykacja danych Mechanizm obsªugi wyj tków mo»e by wykorzystywany w bardzo ró»ny sposób. Typowym przykªadem jest werykacja wprowadzanych danych. I tak od u»ytkownika» damy wprowadzania liczb caªkowitych, a nast pnie za pomoc metody parseint przeksztaªcamy ich znakow reprezentacj na binarn. Je»eli wprowadzony napis nie reprezentuje liczby caªkowitej, to powstaje wyj tek NumberFormatException. Powinnien by on zawsze obsªugiwany. Pokazuje to nast puj cy program.
35 wyj tki - werykacja danych 1 p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { 2 3 S t r i n g s1 = JOptionPane. s h o w I n p u t D i a l o g ( " Podaj p i e r w s z l i c z b " ) ; 4 i f ( s1!= n u l l ) { 5 S t r i n g s2 = JOptionPane. s h o w I n p u t D i a l o g ( " Podaj drug l i c z b " ) ; 6 i f ( s2!= n u l l ) { 7 i n t n1 ; 8 i n t n2 ; 9 t r y { 10 n1 = I n t e g e r. p a r s e I n t ( s1 ) ; 11 n2 = I n t e g e r. p a r s e I n t ( s2 ) ; 12 } c a t c h ( NumberFormatException exc ) { 13 System. out. p r i n t l n ( " Bª dne dane " ) ; 14 r e t u r n ; 15 } 16 JOptionPane. showmessagedialog ( n u l l, "Suma : " + ( n1 + n2 ) ) ; 17 } 18 } 19 }
36 Klasa wyj tków Wyj tki s obiektami klas wyj tków. Nazwy NumberFormatException, ArithmeticException itd. s nazwami klas. Zmienna exc w bloku catch - zawiera referencj do obiektu odpowiedniej klasy wyj tku.
37 Klasa Throwable Klasy wyj tków tworz do± rozbudowan hierarchi dziedzczenia Nadrz dn klas reprezentuj c wyj tki jest klasa Throwable. Ka»da klasa wyst puj ca w bloku try... catch jest jedn z podklas klasy Throwable. Ma ona dwie bezpo±rednie podklasy: Exception u»ywa si jej z wyj tkami generowanymi i przechwytywanymi przez system. Error okre±la wyj tki, które w normalnej sytuacji nie powinny by przechwytywane (s to bardzo powa»ne bª dy).
38 Klasa RunTimeException Szczególn podklas klasy Exception jest klasa RunTimeException dla wyj tków spowodowanych przez system czasu przebiegu Javy, s one generowane automatycznie. Podstawowa ró»nica pomi dzy tymi klasami polega na tym,»e wyj tki klas pochodnych od Exception. ale nie RuntimeException s tzw. wyj tkami kontrolowanymi, co oznacza,»e musimy zapewni ich obsªug (kompilator zgªosi bª d, je±li tego nie zrobimy). Pozostaªych wyj tków obsªugiwa nie musimy (ale mo»emy)
39 Zgªaszanie wyj tków instrukcja Throw Oprócz bloku try...catch Java dostarcza jescze inny sposóbe zgªaszania wyj tków. Jest to instrukcja throw. Jest szczególnie przydatna w przypadku wyj tków, których nie da si obsªu»y, ich obsªuga nie ma sensu, lub po prostu ich wyst pienie mo»e spowodowa nieprawidªow prac w dalszych etapach programu. Jej skªadnia : 1 typ nazwa_metody ( ) t h r o w s typ_wyj tku1, typ_wyj tku2,... 2 { 3 kod... 4 t h r o w new typ_wyjatku_1 ( ) ; 5 t h r o w new typ_wyjatku_2 ( ) ; 6 kod 7 }
40 Throws W nagªówku metody musimy zadeklarowa, korzystaj c z instrukcji throws, list wyj tków jakie dana metoda mo»e wygenerowa. Pó¹niej w kodzie danej metody mo»na je zgªosi (zazwyczaj np w instrukcji if) korzystaj c z instrukcji throw. Zgªasza w ten sposób mo»na wszystkie rodzaje wyj tków, czyli obiekty klas, które po±rednio, lub bezpo±rednio dziedzicz z klasy Throwable. Kompilator wymaga deklarowania wyj tków reprezentowanych przez klas Exception oraz wi kszo± jej podklas. wyj tki klasy Error i RunTimeException oraz wszystkie jej podklasy nie wymagaj deklarowania.
41 Throw przyklad Program dziel cy liczb 1000 przez liczb podan przez u»ytkownika. 1 i m p o r t j a v a. u t i l. Scanner ; 2 3 p u b l i c c l a s s Main { 4 p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a g r s ) t h r o w s A r i t h m e t i c E x c e p t i o n 5 { 6 d o u b l e l i c z b a _ 1 = ; 7 d o u b l e liczba_ 2 ; 8 d o u b l e i l o r a z ; 9 Scanner d z i e l n i k = new Scanner ( System. i n ) ; 10 System. out. p r i n t ( " Podaj d z i e l n i k : " ) ; 11 l i c z b a _ 2 = d z i e l n i k. nextdouble ( ) ; 12 i f ( l i c z b a _ 2 == 0) 13 t h r o w new A r i t h m e t i c E x c e p t i o n ( " Nie mozna d z i e l i p r z e z 0" ) ; 14 e l s e 15 { 16 i l o r a z = l i c z b a _ 1 / l i c z b a _ 2 ; 17 System. out. p r i n t l n ( " wynik d z i e l e n i a : "+ i l o r a z ) ; 18 } 19 } 20 }
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ółowoRównolegªo± w Javie w tki.
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 20.04.2017 Wielow tkowo± w Javie Równolegªo± w Javie oparta jest na w tkach
Bardziej szczegółowoVincent Van GOGH: M»czyzna pij cy li»ank kawy. Radosªaw Klimek. J zyk programowania Java
J zyk programowania JAVA c 2011 Vincent Van GOGH: M»czyzna pij cy li»ank kawy Zadanie 6. Napisz program, który tworzy tablic 30 liczb wstawia do tej tablicy liczby od 0 do 29 sumuje te elementy tablicy,
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ółowoProgramowanie wspóªbie»ne
1 Zadanie 1: Bar Programowanie wspóªbie»ne wiczenia 6 monitory cz. 2 Napisz monitor Bar synchronizuj cy prac barmana obsªuguj cego klientów przy kolistym barze z N stoªkami. Ka»dy klient realizuje nast
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 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ół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ół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ół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ół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ółowoRzut oka na zagadnienia zwi zane z projektowaniem list rozkazów
Rzut oka na zagadnienia zwi zane z projektowaniem list rozkazów 1 Wst p Przypomnijmy,»e komputer skªada si z procesora, pami ci, systemu wej±cia-wyj±cia oraz po- ª cze«mi dzy nimi. W procesorze mo»emy
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ółowoLab. 02: Algorytm Schrage
Lab. 02: Algorytm Schrage Andrzej Gnatowski 5 kwietnia 2015 1 Opis zadania Celem zadania laboratoryjnego jest zapoznanie si z jednym z przybli»onych algorytmów sªu» cych do szukania rozwi za«znanego z
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ółowoModel obiektu w JavaScript
16 marca 2009 E4X Paradygmat klasowy Klasa Deniuje wszystkie wªa±ciwo±ci charakterystyczne dla wybranego zbioru obiektów. Klasa jest poj ciem abstrakcyjnym odnosz cym si do zbioru, a nie do pojedynczego
Bardziej szczegółowo1. Wprowadzenie do C/C++
Podstawy Programowania :: Roman Grundkiewicz :: 014 Zaj cia 1 1 rodowisko Dev-C++ 1. Wprowadzenie do C/C++ Uruchomienie ±rodowiska: Start Programs Developments Dev-C++. Nowy projekt: File New Project lub
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ół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ółowoP tle. Rozdziaª Wst p. 4.2 P tle P tla for(...);
Rozdziaª 4 P tle 4.1 Wst p Niniejszy rozdziaª zawiera opis p tli w j zyku C, wraz z przykªadowymi programami oraz ich obja±nieniem. 4.2 P tle P tla to element j zyka programowania, pozwalaj cy na wielokrotne,
Bardziej szczegółowoPodziaª pracy. Cz ± II. 1 Tablica sortuj ca. Rozwi zanie
Cz ± II Podziaª pracy 1 Tablica sortuj ca Kolejka priorytetowa to struktura danych udost pniaj ca operacje wstawienia warto±ci i pobrania warto±ci minimalnej. Z kolejki liczb caªkowitych, za po±rednictwem
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ółowoWYJĄTKI. Jest ona jednak czasochłonna i prowadzi do duŝego zapotrzebowania na zasoby systemu.
WYJĄTKI Klasa Throwable Exception Error Klasy dziedziczące po klasie Exception są typami wyjątków, które automatycznie obsługuje Java lub program przy jawnym przechwytywaniu i obsłudze wyjątków w blokach
Bardziej szczegółowoLekcja 8 - ANIMACJA. 1 Polecenia. 2 Typy animacji. 3 Pierwsza animacja - Mrugaj ca twarz
Lekcja 8 - ANIMACJA 1 Polecenia Za pomoc Baltiego mo»emy tworzy animacj, tzn. sprawia by obraz na ekranie wygl daª jakby si poruszaª. Do animowania przedmiotów i tworzenia animacji posªu» nam polecenia
Bardziej szczegółowoJęzyki i metody programowania Java INF302W Wykład 3 (część 1)
Języki i metody programowania Java INF302W Wykład 3 (część 1) Autor Dr inż. Zofia Kruczkiewicz Autor: Zofia Kruczkiewicz, Języki i metody programowania Java, wykład 3, część 1 1 STRUKTURA WYKŁADU 1. Wyjątki,
Bardziej szczegółowoWzorce projektowe kreacyjne
Wzorce projektowe kreacyjne Krzysztof Ciebiera 14 pa¹dziernika 2005 1 1 Wst p 1.1 Podstawy Opis Ogólny Podstawowe informacje Wzorce kreacyjne sªu» do uabstrakcyjniania procesu tworzenia obiektów. Znaczenie
Bardziej szczegółowo1. Wprowadzenie do C/C++
Podstawy Programowania - Roman Grundkiewicz - 013Z Zaj cia 1 1 rodowisko Dev-C++ 1. Wprowadzenie do C/C++ Uruchomienie ±rodowiska: Start Programs Developments Dev-C++. Nowy projekt: File New Project lub
Bardziej szczegółowoWykład 8: Obsługa Wyjątków
Wykład 8: Obsługa Wyjątków Wyjątki Wyjątek to sytuacja nienormalna, która pojawia się w trakcie wykonania programu. W językach bez obsługi wyjątków, błędy są wykrywane i obsługiwane ręcznie, zwykle przez
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ółowoPodstawy modelowania w j zyku UML
Podstawy modelowania w j zyku UML dr hab. Bo»ena Wo¹na-Szcze±niak Akademia im. Jan Dªugosza bwozna@gmail.com Wykªad 8 Diagram pakietów I Diagram pakietów (ang. package diagram) jest diagramem strukturalnym,
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ół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ółowoFilozoa Clojure. Mateusz Dereniowski. 15 lipca Instytut Informatyki Uniwersytetu Wrocªawskiego
Filozoa Clojure Mateusz Dereniowski Instytut Informatyki Uniwersytetu Wrocªawskiego 15 lipca 2010 Wprowadzenie Clojure w skrócie Wieloplatformowo± aka JVM Standardy Czym jest JVM Co ª czy Clojure i JVM?
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ółowoBash i algorytmy. Elwira Wachowicz. 20 lutego
Bash i algorytmy Elwira Wachowicz elwira@ifd.uni.wroc.pl 20 lutego 2012 Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Bash i algorytmy 20 lutego 2012 1 / 16 Inne przydatne polecenia Polecenie Dziaªanie Przykªad
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ół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ółowoMiASI. Modelowanie systemów informatycznych. Piotr Fulma«ski. 18 stycznia Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska
MiASI Modelowanie systemów informatycznych Piotr Fulma«ski Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska 18 stycznia 2010 Spis tre±ci 1 Analiza systemu informatycznego Poziomy analizy 2
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ółowoPodstawy modelowania w j zyku UML
Podstawy modelowania w j zyku UML dr hab. Bo»ena Wo¹na-Szcze±niak Akademia im. Jan Dªugosza bwozna@gmail.com Wykªad 2 Zwi zki mi dzy klasami Asocjacja (ang. Associations) Uogólnienie, dziedziczenie (ang.
Bardziej szczegółowoLekcja 12 - POMOCNICY
Lekcja 12 - POMOCNICY 1 Pomocnicy Pomocnicy, jak sama nazwa wskazuje, pomagaj Baltiemu w programach wykonuj c cz ± czynno±ci. S oni szczególnie pomocni, gdy chcemy ci g polece«wykona kilka razy w programie.
Bardziej szczegółowoListy i operacje pytania
Listy i operacje pytania Iwona Polak iwona.polak@us.edu.pl Uniwersytet l ski Instytut Informatyki pa¹dziernika 07 Który atrybut NIE wyst puje jako atrybut elementów listy? klucz elementu (key) wska¹nik
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ółowoLekcja 6 Programowanie - Zaawansowane
Lekcja 6 Programowanie - Zaawansowane Akademia im. Jana Dªugosza w Cz stochowie Wst p Wiemy ju»: co to jest program i programowanie, jak wygl da programowanie, jak tworzy programy za pomoc Baltiego. Na
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ółowoWyjątki Monika Wrzosek (IM UG) Programowanie obiektowe 180 / 196
Wyjątki 180 / 196 Wyjątki W Javie istnieje mechanizm tzw. wyjątków (ang. exception), który pozwala na przechwytywanie błędów pojawiających się w programie. Kompilacja tab [ 1 0 ] = 100; spowoduje powstanie
Bardziej szczegółowoObsługa błędów za pomocą wyjątków. Paweł Motofa (140746)
Obsługa błędów za pomocą wyjątków Paweł Motofa (140746) Co zrobić, gdy wystąpi błąd Przykład Co zrobić, gdy wystąpi błąd Co zrobić, gdy wystąpi błąd Co zrobić, gdy wystąpi błąd Jak wyglądałaby funkcja
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ółowoLekcja 5 Programowanie - Nowicjusz
Lekcja 5 Programowanie - Nowicjusz Akademia im. Jana Dªugosza w Cz stochowie Programowanie i program wedªug Baltiego Programowanie Programowanie jest najwy»szym trybem Baltiego. Z pomoc Baltiego mo»esz
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ółowoWST P DO TEORII INFORMACJI I KODOWANIA. Grzegorz Szkibiel. Wiosna 2013/14
WST P DO TEORII INFORMACJI I KODOWANIA Grzegorz Szkibiel Wiosna 203/4 Spis tre±ci Kodowanie i dekodowanie 4. Kodowanie a szyfrowanie..................... 4.2 Podstawowe poj cia........................
Bardziej szczegółowoAndroid. Podstawy tworzenia aplikacji. Piotr Fulma«ski. March 4, 2015
Android Podstawy tworzenia aplikacji Piotr Fulma«ski Instytut Nauk Ekonomicznych i Informatyki, Pa«stwowa Wy»sza Szkoªa Zawodowa w Pªocku, Polska March 4, 2015 Table of contents Framework Jednym z najwarto±ciowszych
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ółowoANALIZA NUMERYCZNA. Grzegorz Szkibiel. Wiosna 2014/15
ANALIZA NUMERYCZNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Metoda Eulera 3 1.1 zagadnienia brzegowe....................... 3 1.2 Zastosowanie ró»niczki...................... 4 1.3 Output do pliku
Bardziej szczegółowoThrowable. Wyjatek_1(int x_) { x = x_; } int podaj_x()
Wykład 3. Wyjątki 1) Obsługa wyjątków system czasu przebiegu Javy przerwanie programu class Wyjatek_1 //plik Proba_1.java int x; Wyjatek_1(int x_) x = x_; int iloraz() int p = 45/x; //generowanie wyjątku
Bardziej szczegółowoZad.30. Czy można utworzyć klasę, która implementuje oba interfejsy?
Zad.28. Utwórz klasę, która implementuje oba interfejsy: public void pisz ( ) ; public void pisz ( ) ; Zad.29. Utwórz klasę, która implementuje oba interfejsy: public void pisz ( int l i c z b a ) ; public
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ół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ółowoLekcja 9 - LICZBY LOSOWE, ZMIENNE
Lekcja 9 - LICZBY LOSOWE, ZMIENNE I STAŠE 1 Liczby losowe Czasami spotkamy si z tak sytuacj,»e b dziemy potrzebowa by program za nas wylosowaª jak ± liczb. U»yjemy do tego polecenia: - liczba losowa Sprawd¹my
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ół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ółowoProgramowanie i struktury danych 1 / 44
Programowanie i struktury danych 1 / 44 Lista dwukierunkowa Lista dwukierunkowa to liniowa struktura danych skªadaj ca si z ci gu elementów, z których ka»dy pami ta swojego nast pnika i poprzednika. Operacje
Bardziej szczegółowoRozwi zywanie Ukªadów Równa«Liniowych Ax=B metod dekompozycji LU, za pomoc JAVA RMI
Rozwi zywanie Ukªadów Równa«Liniowych Ax=B metod dekompozycji LU, za pomoc JAVA RMI Marcn Šabudzik AGH-WFiIS, al. Mickiewicza 30, 30-059, Kraków, Polska email: labudzik@ghnet.pl www: http://fatcat.ftj.agh.edu.pl/
Bardziej szczegółowoListy Inne przykªady Rozwi zywanie problemów. Listy w Mathematice. Marcin Karcz. Wydziaª Matematyki, Fizyki i Informatyki.
Wydziaª Matematyki, Fizyki i Informatyki 10 marca 2008 Spis tre±ci Listy 1 Listy 2 3 Co to jest lista? Listy List w Mathematice jest wyra»enie oddzielone przecinkami i zamkni te w { klamrach }. Elementy
Bardziej szczegółowoPodstawy Informatyki i Technologii Informacyjnej
Automatyka i Robotyka, Rok I Wprowadzenie do systemów operacyjnych PWSZ Gªogów, 2009 Denicja System operacyjny (ang. OS, Operating System) oprogramowanie zarz dzaj ce sprz tem komputerowym, tworz ce ±rodowisko
Bardziej szczegółowoWska¹niki, tablice dynamiczne wielowymiarowe
Rozdziaª 11 Wska¹niki, tablice dynamiczne wielowymiarowe 11.1 Wst p Identycznie, jak w przypadku tablic statycznych, tablica dynamiczna mo»e by tablic jedno-, dwu-, trójitd. wymiarow. Tablica dynamiczna
Bardziej szczegółowoLekcja 3 Banki i nowe przedmioty
Lekcja 3 Banki i nowe przedmioty Akademia im. Jana Dªugosza w Cz stochowie Banki przedmiotów Co ju» wiemy? co to s banki przedmiotów w Baltie potramy korzysta z banków przedmiotów mo»emy tworzy nowe przedmioty
Bardziej szczegółowoSzeregowanie zada« Przedmiot fakultatywny 15h wykªadu + 15h wicze« dr Hanna Furma«czyk. 7 pa¹dziernika 2013
Przedmiot fakultatywny 15h wykªadu + 15h wicze«7 pa¹dziernika 2013 Zasady zaliczenia 1 wiczenia (ocena): kolokwium, zadania dodatkowe (implementacje algorytmów), praca na wiczeniach. 2 Wykªad (zal): zaliczone
Bardziej szczegółowoUkªady równa«liniowych
dr Krzysztof yjewski Mechatronika; S-I 0 in» 7 listopada 206 Ukªady równa«liniowych Informacje pomocnicze Denicja Ogólna posta ukªadu m równa«liniowych z n niewiadomymi x, x, x n, gdzie m, n N jest nast
Bardziej szczegółowo2 Skªadnia polece«w pliku
Interpreter opisu dziaªa«platformy mobilnej wtyczki 1 Ogólny opis zadania Nale»y napisa program, który b dzie w stanie przeczyta z pliku tekstowego sekwencj polece«ruchu, a nast pnie zasymulowa dziaªanie
Bardziej szczegółowo2 Liczby rzeczywiste - cz. 2
2 Liczby rzeczywiste - cz. 2 W tej lekcji omówimy pozostaªe tematy zwi zane z liczbami rzeczywistymi. 2. Przedziaªy liczbowe Wyró»niamy nast puj ce rodzaje przedziaªów liczbowych: (a) przedziaªy ograniczone:
Bardziej szczegółowoBazy danych, 4. wiczenia
Bazy danych, 4. wiczenia 2007-10-23 1 Plan zaj PL/SQL, cz ± II: tabele kursory sªu» ce do zmiany danych, procedury, funkcje, pakiety, wyzwalacze. 2 Tabele Deklaracja TYPE t_tab IS TABLE OF VARCHAR(20)
Bardziej szczegółowoTemat: Programowanie zdarzeniowe. Zdarzenia: delegacje, wykorzystywanie zdarze. Elementy Windows Application (WPF Windows Presentation Foundation).
Temat: Programowanie zdarzeniowe. Zdarzenia: delegacje, wykorzystywanie zdarze. Elementy Windows Application (WPF Windows Presentation Foundation). 1. Programowanie zdarzeniowe Programowanie zdarzeniowe
Bardziej szczegółowo1 Metody iteracyjne rozwi zywania równania f(x)=0
1 Metody iteracyjne rozwi zywania równania f()=0 1.1 Metoda bisekcji Zaªó»my,»e funkcja f jest ci gªa w [a 0, b 0 ]. Pierwiastek jest w przedziale [a 0, b 0 ] gdy f(a 0 )f(b 0 ) < 0. (1) Ustalmy f(a 0
Bardziej szczegółowoRelacj binarn okre±lon w zbiorze X nazywamy podzbiór ϱ X X.
Relacje 1 Relacj n-argumentow nazywamy podzbiór ϱ X 1 X 2... X n. Je±li ϱ X Y jest relacj dwuargumentow (binarn ), to zamiast (x, y) ϱ piszemy xϱy. Relacj binarn okre±lon w zbiorze X nazywamy podzbiór
Bardziej szczegółowoLekcja 9 Liczby losowe, zmienne, staªe
Lekcja 9 Liczby losowe, zmienne, staªe Akademia im. Jana Dªugosza w Cz stochowie Liczby losowe Czasami potrzebujemy by program za nas wylosowaª liczb. U»yjemy do tego polecenia liczba losowa: Liczby losowe
Bardziej szczegółowoBaza danych - Access. 2 Budowa bazy danych
Baza danych - Access 1 Baza danych Jest to zbiór danych zapisanych zgodnie z okre±lonymi reguªami. W w»szym znaczeniu obejmuje dane cyfrowe gromadzone zgodnie z zasadami przyj tymi dla danego programu
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ół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ółowox y x y x y x + y x y
Algebra logiki 1 W zbiorze {0, 1} okre±lamy dziaªania dwuargumentowe,, +, oraz dziaªanie jednoargumentowe ( ). Dziaªanie x + y nazywamy dodawaniem modulo 2, a dziaªanie x y nazywamy kresk Sheera. x x 0
Bardziej szczegółowoA = n. 2. Ka»dy podzbiór zbioru sko«czonego jest zbiorem sko«czonym. Dowody tych twierdze«(elementarne, lecz nieco nu» ce) pominiemy.
Logika i teoria mnogo±ci, konspekt wykªad 12 Teoria mocy, cz ± II Def. 12.1 Ka»demu zbiorowi X przyporz dkowujemy oznaczany symbolem X obiekt zwany liczb kardynaln (lub moc zbioru X) w taki sposób,»e ta
Bardziej szczegółowoPodstawy modelowania w j zyku UML
Podstawy modelowania w j zyku UML dr hab. Bo»ena Wo¹na-Szcze±niak Akademia im. Jan Dªugosza bwozna@gmail.com Wykªad 5 Diagram sekwencji - wprowadzenie I Diagram sekwencji (ang. sequence diagram) jest jednym
Bardziej szczegółowoPodstawy JavaScript. Dawid Poªap. Dawid Poªap Technologia informacyjna Grudzie«, / 13
Podstawy JavaScript Dawid Poªap Dawid Poªap Technologia informacyjna Grudzie«, 2017 1 / 13 Plan na reszt zaj z TI Dzisiaj podstawy podstaw programowania w konsoli. W nowym roku na stronie internetowej
Bardziej szczegółowoMetody numeryczne. Wst p do metod numerycznych. Dawid Rasaªa. January 9, 2012. Dawid Rasaªa Metody numeryczne 1 / 9
Metody numeryczne Wst p do metod numerycznych Dawid Rasaªa January 9, 2012 Dawid Rasaªa Metody numeryczne 1 / 9 Metody numeryczne Czym s metody numeryczne? Istota metod numerycznych Metody numeryczne s
Bardziej szczegółowoi, lub, nie Cegieªki buduj ce wspóªczesne procesory. Piotr Fulma«ski 5 kwietnia 2017
i, lub, nie Cegieªki buduj ce wspóªczesne procesory. Piotr Fulma«ski Uniwersytet Šódzki, Wydziaª Matematyki i Informatyki UŠ piotr@fulmanski.pl http://fulmanski.pl/zajecia/prezentacje/festiwalnauki2017/festiwal_wmii_2017_
Bardziej szczegółowoJAO - J zyki, Automaty i Obliczenia - Wykªad 1. JAO - J zyki, Automaty i Obliczenia - Wykªad 1
J zyki formalne i operacje na j zykach J zyki formalne s abstrakcyjnie zbiorami sªów nad alfabetem sko«czonym Σ. J zyk formalny L to opis pewnego problemu decyzyjnego: sªowa to kody instancji (wej±cia)
Bardziej szczegółowoc Marcin Sydow Przepªywy Grafy i Zastosowania Podsumowanie 12: Przepªywy w sieciach
12: w sieciach Spis zagadnie«sieci przepªywowe przepªywy w sieciach ±cie»ka powi kszaj ca tw. Forda-Fulkersona Znajdowanie maksymalnego przepªywu Zastosowania przepªywów Sieci przepªywowe Sie przepªywowa
Bardziej szczegółowoSubversion - jak dziaªa
- jak dziaªa Krótka instrukcja obsªugi lstelmach@gmail.com Stelmisoft 12/07/2010 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5 1 2 3 4 5 6 Spis tre±ci Czym jest Czym jest repozytorium 1 Czym jest Czym jest repozytorium
Bardziej szczegółowoEkonometria. wiczenia 1 Regresja liniowa i MNK. Andrzej Torój. Instytut Ekonometrii Zakªad Ekonometrii Stosowanej
Ekonometria wiczenia 1 Regresja liniowa i MNK (1) Ekonometria 1 / 25 Plan wicze«1 Ekonometria czyli...? 2 Obja±niamy ceny wina 3 Zadania z podr cznika (1) Ekonometria 2 / 25 Plan prezentacji 1 Ekonometria
Bardziej szczegółowo1 Bª dy i arytmetyka zmiennopozycyjna
1 Bª dy i arytmetyka zmiennopozycyjna Liczby w pami ci komputera przedstawiamy w ukªadzie dwójkowym w postaci zmiennopozycyjnej Oznacza to,»e s one postaci ±m c, 01 m < 1, c min c c max, (1) gdzie m nazywamy
Bardziej szczegółowoO pewnym zadaniu olimpijskim
O pewnym zadaniu olimpijskim Michaª Seweryn, V LO w Krakowie opiekun pracy: dr Jacek Dymel Problem pocz tkowy Na drugim etapie LXII Olimpiady Matematycznej pojawiª si nast puj cy problem: Dla ka»dej liczby
Bardziej szczegółowoSystem Informatyczny CELAB. Przygotowanie programu do pracy - Ewidencja Czasu Pracy
Instrukcja obsługi programu 2.11. Przygotowanie programu do pracy - ECP Architektura inter/intranetowa System Informatyczny CELAB Przygotowanie programu do pracy - Ewidencja Czasu Pracy Spis treści 1.
Bardziej szczegółowoBazy danych. Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 9/15
Bazy danych Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 9/15 Przechowywanie danych Wykorzystanie systemu plików, dostępu do plików za pośrednictwem systemu operacyjnego
Bardziej szczegółowoTworzenie aplikacji webowych w oparciu o framework ObjectLedge
Tworzenie aplikacji webowych w oparciu o framework ObjectLedge Konrad Mizi«ski Wydziaª Elektroniki i Technik Informacyjnych, Politechnika Warszawska, K.Mizinski@stud.elka.pw.edu.pl Streszczenie ObjectLedge
Bardziej szczegółowoOpis matematyczny ukªadów liniowych
Rozdziaª 1 Opis matematyczny ukªadów liniowych Autorzy: Alicja Golnik 1.1 Formy opisu ukªadów dynamicznych 1.1.1 Liniowe równanie ró»niczkowe Podstawow metod przedstawienia procesu dynamicznego jest zbiór
Bardziej szczegółowoKLASYCZNE ZDANIA KATEGORYCZNE. ogólne - orzekaj co± o wszystkich desygnatach podmiotu szczegóªowe - orzekaj co± o niektórych desygnatach podmiotu
➏ Filozoa z elementami logiki Na podstawie wykªadów dra Mariusza Urba«skiego Sylogistyka Przypomnij sobie: stosunki mi dzy zakresami nazw KLASYCZNE ZDANIA KATEGORYCZNE Trzy znaczenia sªowa jest trzy rodzaje
Bardziej szczegółowoProjekt systemy operacyjne 2 - Systemowe mechanizmy synchr
systemy operacyjne 2 - Systemowe mechanizmy synchronizacji procesów 19 lutego 2012 Wielow tkowo± Mechanizmy synchronizacji Wielow tkowo± Mechanizmy synchronizacji Klasyczne przykªady programów Wielow tkowo±
Bardziej szczegółowo