PRÁCE S VLÁKNY A APLIKAČNÍ DOMÉNY V.NET FRAMEWORK APLIKACÍCH Architektura technologie.NET Jan Martinovič, FEI - Katedra Informatiky.

Slides:



Advertisements
Podobné prezentace
Seminář C++ 5. cvičení Dědičnost Ing. Jan Mikulka.
Advertisements

Funkce Připomeňme si program pro výpočet faktoriálu:
Pole, ukazatele a odkazy
SLUŽBY Architektura technologie.NET Jan Martinovič, FEI - Katedra Informatiky.
Uživatelská rozhraní Uživatelská rozhraní 9. cvičení.
PJV151 Vnořené a vnitřní členy mohou být členy tříd a interfejsů. Je-li X obalem Y a Y je obalem Z, pak Z získá jméno X$Y$Z - kompilací vzniknou classy.
4IT1014IT101 Pátá přednáška Datové struktury - pokračování Statické prvky třídy.
Singleton 1 1.
C++ Přednáška 3 Konstantní a statické členy tříd, ukazatel this, konstantní instance třídy Ing. Jiří Kulhánek , kat. 352, VŠB TU Ostrava 2004.
Čtvrté cvičení Objektové programování Objektový model v Javě
Větvení cykly J a v a Začínáme programovat Lucie Žoltá.
J a v a Začínáme programovat Lucie Žoltá metody, objekty, konstruktor.
J a v a Začínáme programovat Lucie Žoltá. Odkazy - oficiální stránky (překladače, help, metody, vývojové prostředí NetBeans,...)
Fronty (Queue) v JDK 1.5 (1.6) Java.vse.cz.
Seminář C++ 9. cvičení Šablony Ing. Jan Mikulka. Šablony ► template – vzory, podle kterých může překladač tvořit skupiny podobných tříd nebo funkcí, které.
13AMP 8. přednáška Ing. Martin Molhanec, CSc.. Co jsme se naučili naposled RT jazyky RT jazyky Modula Modula Modula II Modula II.
PRÁCE S PROUDY V.NET FRAMEWORK APLIKACÍCH Architektura technologie.NET Jan Martinovič, FEI - Katedra Informatiky.
C# - Exceptions (výjimky)
Podpora vláken a jejich synchronizace v jazyce C# Jan Kučera Jan Mittner Petr Effenberger 4IT353 Klient/server aplikace v Javě.
C# - funkce a procedury Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
Jedenácté cvičení Vlákna. Java cv112 Vlákna Operační systém Mutitasking – více úloh se v operačním programu vykonává „současně“ Java Multithreading -
Seminář C cvičení Obsluha výjimek Ing. Jan Mikulka.
C# - OOP (object oriented programming)
08/04/20151 Delegáty (1) Delegát (delegate) je datový typ, který definuje signaturu metody Delegáty bývají rovněž označovány jako typo- vě bezpečné ukazatele.
Seminář C++ 4. cvičení Objekty Ing. Jan Mikulka. Co je objekt ► obraz třídy i instance ► třída – definovaná za pomocí klíčového slova class ► instance.
Alg91 Textové soubory Na rozdíl od jiných typů souborů jsou textové soubory určené pro gramotné lidské oko. Textový soubor je posloupnost znaků členěná.
C# - I/O, streamy, práce se soubory
PB161 Právo friend, přetěžování operátorů, přetypování PB161 | Friend, operátory PB161 – Programování v jazyce C++ Objektově Orientované Programování.
Memento. Obnovení operačního systému ( Windows | Linux...) Všichni víme, co jsou transekce v databázi Memento – zálohování databáze.
KIV/PPA1 cvičení 8 Cvičící: Pavel Bžoch. Osnova cvičení Objekty v Javě Třída Konstruktor Metody Metody a proměnné třídy x instance Program sestávající.
C# - předávání parametrů Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
Návrh a tvorba WWW Přednáška 5 Úvod do jazyka PHP.
ZADÁNÍ Sestavte program, který vypočítá obvod a obsah čtverce o straně a. Zajistěte, aby výpočet byl realizován pouze v případě, kdy strana a bude mít.
Dědičnost - inheritance dědičnost je jednou z forem znovupoužitelnosti dědičnost je jednou z forem znovupoužitelnosti B A Třída A je předkem třídy B Třída.
12/04/20151 Kolekce (1) Kolekce (collection) představují standardní datové struktury (seskupení) prvků (objektů) Jsou definovány ve jmenném prostoru System.Collections.
Realloc a qsort examples BI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky © Miroslav Balík Fakulta informačních technologií České vysoké.
13/04/20151 Datový typ třída – class (1) Datový typ definovaný uživatelem Poskytuje mechanismus pro modelování entit, s nimiž manipulují aplikace Charakterizuje.
13/04/20151 Multitasking Schopnost operačního systému mít spuštěno více programů současně Operační systém používá hardwarové hodiny a každému běžícímu.
Šesté cvičení Výjimky Balíky.
Principy OOP Objektově orientované programování vychá-zí ze třech základních principů (rysů): zapouzdření (encapsulation) dědičnost (inheritance) polymorfismus.
Netrvaloppa21 Vytvořte třídu Student pro reprezentaci struktury student na ZČU. Atributy třídy budou fakulta a osobniCislo. Název třídy: Student proměnné.
POSLOUPNOST úkol 1_41. ZADÁNÍ Sestavte program, který doplní tabulku nepřímé úměrnosti pro hodnoty proměnné x = 1, …, n. Nepřímá úměrnost je zadána uživatelem.
C# - konverze datových typů Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
FEL Komunikátor. Memory Leak program konsumuje operační paměť, kterou neumožňuje uvolnit o uvolnění paměti stará Garbage Collector ▫plně v režii Java.
Pokročilé programování v C++ (část B)
PŘÍKAZ while úkol 1_42.
Jazyk C A0B36PRI - PROGRAMOVÁNÍ Část II.
Kam se ubírá jazyk C#? Dr. Ing. Dalibor Kačmář Academic Developer Evangelist Developer & Platform Evangelist Group Microsoft Czech & Slovakia Anders Hejlsberg.
NÁZEV ŠKOLY: Střední odborná škola Net Office, spol. s r.o., Orlová-Lutyně AUTOR: Ing. Adéla Tomalová NÁZEV: Podpora výuky v technických oborech TEMA:
NÁZEV ŠKOLY: S0Š Net Office, spol. s r.o., Orlová-Lutyně AUTOR: Ing. Adéla Tomalová NÁZEV: Podpora výuky v technických oborech TEMA: Objektově orientované.
NÁZEV ŠKOLY: Střední odborná škola Net Office, spol. s r.o., Orlová-Lutyně AUTOR: Ing. Adéla Tomalová NÁZEV: Podpora výuky v technických oborech TEMA:
NÁZEV ŠKOLY: S0Š Net Office, spol. s r.o., Orlová-Lutyně AUTOR: Ing. Adéla Tomalová NÁZEV: Podpora výuky v technických oborech TEMA: Objektově orientované.
PJV15 1 Vnořené ( nested ) a vnitřní ( inner ) členy Třídy či interfejsy mohou být členy tříd či interfejsů. Je-li X obalem Y a Y obalem Z, pak Z získá.
NÁZEV ŠKOLY: S0Š Net Office, spol. s r.o., Orlová-Lutyně
NÁZEV ŠKOLY: Střední odborná škola Net Office, spol. s r. o
Reflexe (1) Reflexe (Reflection) představuje proces ve-doucí k získání informací o sestavách (assemblies) a datových typech, které jsou v nich definovány.
OOP OOP (Object Oriented Programming)
Y36PJC Programování v jazyce C/C++
NÁZEV ŠKOLY: Střední odborná škola Net Office, spol. s r. o
NÁZEV ŠKOLY: Střední odborná škola Net Office, spol. s r. o
Procházka na provázku Program s metodami připomíná knósský labyrint se sály, jimiž se protlouká statečný Theseus, jemuž pro šťastný návrat chytrá Ariadna.
Rysy MS Windows Možnost multitaskingu a multithreadingu
Příkazy (1) Příkazy (commands) slouží pro zjednodušení vyvolání jedné (stejné) funkce programu (pop-sané metodou) pomocí různých prostředků, např.: položka.
NÁZEV ŠKOLY: Střední odborná škola Net Office, spol. s r. o
Reflexe jako introspekce
private var hodnota:number
C# přehled vlastností.
NÁZEV ŠKOLY: S0Š Net Office, spol. s r.o., Orlová-Lutyně
Vázání dat Data Binding
Výčtové typy ( Java 5 ) Výčtové typy jsou speciální třídy zavedené pro větší bezpečí a pohodlí. V nejjednodušší variantě se definují příkladmo takto:
Transkript prezentace:

PRÁCE S VLÁKNY A APLIKAČNÍ DOMÉNY V.NET FRAMEWORK APLIKACÍCH Architektura technologie.NET Jan Martinovič, FEI - Katedra Informatiky

Třída Thread 2  Vytváří a kontroluje vlákna, nastavuje priority a získává jejich stav  Vlastnosti  Priority  ThreadState  IsAlive  IsBackground  Statické vlastnosti  CurrentThread  Metody  Start  Sleep  Join  Interrupt  Abort  ResetAbort

Delegát ThreadStart 1/2 3 class Work { private int data; public int Data { get { return data; } set { data = value; } } public static void DoWork() { Console.WriteLine("Statická metoda"); } public void DoMoreWork() { Console.WriteLine("Instanční metoda. Data = {0}", Data); } class Work { private int data; public int Data { get { return data; } set { data = value; } } public static void DoWork() { Console.WriteLine("Statická metoda"); } public void DoMoreWork() { Console.WriteLine("Instanční metoda. Data = {0}", Data); }

Delegát ThreadStart 2/2 4 class Test { static void Main() { ThreadStart threadDelegate = new ThreadStart(Work.DoWork); Thread newThread = new Thread(threadDelegate); newThread.Start(); // Od.NET 2.0 nemusíme vytvářet instanci ThreadStart Work w = new Work(); w.Data = 42; threadDelegate = w.DoMoreWork; newThread = new Thread(threadDelegate); newThread.Start(); } class Test { static void Main() { ThreadStart threadDelegate = new ThreadStart(Work.DoWork); Thread newThread = new Thread(threadDelegate); newThread.Start(); // Od.NET 2.0 nemusíme vytvářet instanci ThreadStart Work w = new Work(); w.Data = 42; threadDelegate = w.DoMoreWork; newThread = new Thread(threadDelegate); newThread.Start(); }

Synchronizace zamykáním 5  Příkaz lock je používán pro synchronizaci vláken, které přistupují ke společným zdrojům  lock nastavuje zámek na objekt Object thisLock = new Object(); lock (thisLock) { // Critical code section } Object thisLock = new Object(); lock (thisLock) { // Critical code section }

lock 1/2 6 public class LockExample { private readonly string word; public LockExample(string word) { this.word = word} public void RunT0() { lock (Console.Out) { for (int i = 0; i < 10; i++) { Console.Write(word); Thread.Sleep(100); } public class LockExample { private readonly string word; public LockExample(string word) { this.word = word} public void RunT0() { lock (Console.Out) { for (int i = 0; i < 10; i++) { Console.Write(word); Thread.Sleep(100); }

lock 2/2 7 public class Example { public static void Main() { LockExample le1 = new LockExample("a"); LockExample le2 = new LockExample("b"); Thread t1 = new Thread(le1.RunT0); Thread t2 = new Thread(le2.RunT0); t1.Start(); t2.Start(); } public class Example { public static void Main() { LockExample le1 = new LockExample("a"); LockExample le2 = new LockExample("b"); Thread t1 = new Thread(le1.RunT0); Thread t2 = new Thread(le2.RunT0); t1.Start(); t2.Start(); }

Třída Monitor 8  Statické metody  Enter  TryEnter  Exit  Wait  Pulse  PulseAll lock (obj) { … } // je kompilováno jako Monitor.Enter(obj) try { … } finally { Monitor.Exit(obj) } lock (obj) { … } // je kompilováno jako Monitor.Enter(obj) try { … } finally { Monitor.Exit(obj) }