Einführung Verteilte Systeme - Java Threads I -
|
|
|
- Leopold Gerber
- vor 8 Jahren
- Abrufe
Transkript
1 Einführung Verteilte Systeme - Java Threads I - Prof. Dr. Michael Cebulla 20. November 2014 Fachhochschule Schmalkalden Wintersemester 2014/15 1 / 38 M. Cebulla Verteilte Systeme
2 Gliederung Wiederholung: Chat-Server 1 Wiederholung: Chat-Server 2 Allgemeines Grundkonzepte 3 Erzeugung von Threads Methoden zur Steuerung von Threads Ein Beispiel: Simple Threads 4 Probabilistische Approximation von Π Eratosthenes multithreaded 2 / 38 M. Cebulla Verteilte Systeme
3 Outline Wiederholung: Chat-Server 1 Wiederholung: Chat-Server 2 Allgemeines Grundkonzepte 3 Erzeugung von Threads Methoden zur Steuerung von Threads Ein Beispiel: Simple Threads 4 Probabilistische Approximation von Π Eratosthenes multithreaded 3 / 38 M. Cebulla Verteilte Systeme
4 Chat-Server II 4 / 38 M. Cebulla Verteilte Systeme
5 Chat-Server III 5 / 38 M. Cebulla Verteilte Systeme
6 Chat-Server IV 6 / 38 M. Cebulla Verteilte Systeme
7 Chat-Server V 7 / 38 M. Cebulla Verteilte Systeme
8 Chat-Server VI 8 / 38 M. Cebulla Verteilte Systeme
9 Chat-Client I Wiederholung: Chat-Server 9 / 38 M. Cebulla Verteilte Systeme
10 Chat-Client II 10 / 38 M. Cebulla Verteilte Systeme
11 Chat-Client III 11 / 38 M. Cebulla Verteilte Systeme
12 Chat-Client IV 12 / 38 M. Cebulla Verteilte Systeme
13 Chat-Client V 13 / 38 M. Cebulla Verteilte Systeme
14 Outline Wiederholung: Chat-Server Allgemeines Grundkonzepte 1 Wiederholung: Chat-Server 2 Allgemeines Grundkonzepte 3 Erzeugung von Threads Methoden zur Steuerung von Threads Ein Beispiel: Simple Threads 4 Probabilistische Approximation von Π Eratosthenes multithreaded 14 / 38 M. Cebulla Verteilte Systeme
15 Allgemeines Grundkonzepte Im Allgemeinen wird unter Programmierung die Entwicklung sequentieller Programme verstanden. Das Verhalten eines Programms wird mit der festgelegten Abarbeitung von Programmschritten in einer determinierten Reihenfolge gleichgesetzt. Dies ist spätenstens seit der Verbreitung von Multicore-Prozessoren nicht mehr zutreffend. Heutzutage ist die von Programmen der Standardfall. Jeder Programmierer muss sich mit den entsprechenden Herausforderungen und Programmierkonzepten auseinandersetzen. 15 / 38 M. Cebulla Verteilte Systeme
16 Allgemeines Grundkonzepte Java Support für Multithreading High-level APIs in java.util.concurrent. Nativer Support für in der Laufzeitumgebung 16 / 38 M. Cebulla Verteilte Systeme
17 Prozesse und Threads I Allgemeines Grundkonzepte Prozess besitzt eine konsistente Ausführungsumgebung, die vom Betriebssystem verwaltet wird. Das Betriebssystem weist dem Prozess Ressourcen (z.b. Speicherplatz, Prozessoren) zu. Häufig wird ein Programm mit einem Prozess gleichgesetzt. In Java entspricht eine VM i.d.r. einem Prozess 17 / 38 M. Cebulla Verteilte Systeme
18 Prozesse und Threads II Allgemeines Grundkonzepte Thread Lightweight Process. Ein Prozess enthält einen oder mehrere Threads. Threads teilen sich die Ressourcen eines Prozesses. Man unterscheidet zwischen System- und User-Threads. Java- bestehen aus mehreren (System-)Threads, die dem Programmierer in der Regel unzugänglich sind. Zu Beginn gibt es jedoch nur einen User-Thread, der die Fähigkeit hat, neue Threads zu erzeugen. 18 / 38 M. Cebulla Verteilte Systeme
19 Time-Sharing vs. Multicore Allgemeines Grundkonzepte 19 / 38 M. Cebulla Verteilte Systeme
20 Outline Wiederholung: Chat-Server Erzeugung von Threads Methoden zur Steuerung von Threads Ein Beispiel: Simple Threads 1 Wiederholung: Chat-Server 2 Allgemeines Grundkonzepte 3 Erzeugung von Threads Methoden zur Steuerung von Threads Ein Beispiel: Simple Threads 4 Probabilistische Approximation von Π Eratosthenes multithreaded 20 / 38 M. Cebulla Verteilte Systeme
21 Threads als Objekte Erzeugung von Threads Methoden zur Steuerung von Threads Ein Beispiel: Simple Threads Threads fügen sich als Objekte in das OOP-Paradigma von Java ein. Jeder Thread ist mit einem Thread-Objekt verbunden, das es gestattet, ihn zu steuern. Aus der Klasse Thread wird ein Objekt erzeugt, dass es erlaubt, asynchrone Aufgaben zu erledigen. 21 / 38 M. Cebulla Verteilte Systeme
22 Erzeugung von Threads Methoden zur Steuerung von Threads Ein Beispiel: Simple Threads Erzeugung eines Threads - Klasse vs. Interface Eine Thread-Klasse enthält den Programm-Code der vom Thread nebenläufig auszuführen ist. Erben von der Klasse Thread public class HelloThread extends Thread { public void run() { System.out.println("Hello from a thread!"); } public static void main(string args[]) { (new HelloThread()).start(); } } Vererbung: Einfach zu Handhaben - dafür eingeschränkter: Java kennt keine Mehrfachvererbung. 22 / 38 M. Cebulla Verteilte Systeme
23 Erzeugung von Threads Methoden zur Steuerung von Threads Ein Beispiel: Simple Threads Erzeugung eines Threads - Interface Implementierung des Interface Runnable public class HelloRunnable implements Runnable { public void run() { System.out.println("Hello from a thread!"); } public static void main(string args[]) { (new Thread(new HelloRunnable())).start(); } } Allgemeiner: Die Klasse kann auch von anderen Klassen abgeleitet werden. Die Task (Runnable) wird vom Thread getrennt. 23 / 38 M. Cebulla Verteilte Systeme
24 Lifecycles eines Threads Erzeugung von Threads Methoden zur Steuerung von Threads Ein Beispiel: Simple Threads 24 / 38 M. Cebulla Verteilte Systeme
25 Pausieren mit Thread.sleep() Erzeugung von Threads Methoden zur Steuerung von Threads Ein Beispiel: Simple Threads Thread.sleep() Der Aufruf von sleep() hält die Ausführung eines Threads an. Die InterruptedException wird geworfen, wenn die Sleep-Phase durch einen anderen Thread unterbrochen wird. Es ist nicht garantiert, dass die Zeit von sleep exakt eingehalten wird. public class SleepMessages { public static void main(string args[]) throws InterruptedException { for (int i = 0; i < 100; i++) { Thread.sleep(4000); System.out.println("Sleep " + i); } } 25 / 38 M. Cebulla Verteilte Systeme
26 Interrupts Wiederholung: Chat-Server Erzeugung von Threads Methoden zur Steuerung von Threads Ein Beispiel: Simple Threads Interrupts Interrupts stellen eine Aufforderung zur Unterbrechung der Ausführung eines Threads dar. Sie werden von anderen Threads ausgelöst und müssen durch die Implementierung des Threads unterstützt werden. Der Aufruf von interrupt setzt das interrupt-flag. } } for (int i = 0; i < 100; i++) { try { Thread.sleep(4000); } catch (InterruptedException e){ return; } System.out.println("Sleep " + i); } 26 / 38 M. Cebulla Verteilte Systeme
27 Verwendung von interrupted Erzeugung von Threads Methoden zur Steuerung von Threads Ein Beispiel: Simple Threads for (int i = 0; i < inputs.length; i++) { heavycrunch(inputs[i]); if (Thread.interrupted()) { return; } } 27 / 38 M. Cebulla Verteilte Systeme
28 Joins Wiederholung: Chat-Server Erzeugung von Threads Methoden zur Steuerung von Threads Ein Beispiel: Simple Threads Joins Mit Hilfe des join-statments ist es möglich, dass ein Thread wartet, bis ein anderer seine Arbeit beendet hat. t.join(); 28 / 38 M. Cebulla Verteilte Systeme
29 Beispiel: Simple Threads Erzeugung von Threads Methoden zur Steuerung von Threads Ein Beispiel: Simple Threads Das Beispiel zeigt, wie zwei Threads miteinander kommunizieren: Den Haupt-Thread, der in jedem Programm vorhanden ist. Einen Unter-Thread, der vom Haupt-Thread erzeugt und gesteuert wird. 29 / 38 M. Cebulla Verteilte Systeme
30 Simple Thread: der Unter-Thread Erzeugung von Threads Methoden zur Steuerung von Threads Ein Beispiel: Simple Threads try { for (int i = 0; i < importantinfo.length; i++) { Thread.sleep(4000); threadmessage(importantinfo[i]); } } catch (InterruptedException e) { threadmessage("i wasn t done!"); } 30 / 38 M. Cebulla Verteilte Systeme
31 Simple Thread: der Haupt-Thread Erzeugung von Threads Methoden zur Steuerung von Threads Ein Beispiel: Simple Threads long starttime = System.currentTimeMillis(); Thread t = new Thread(new MessageLoop()); t.start(); while (t.isalive()) { if (((System.currentTimeMillis() - starttime) > patience) && t.isalive()) { threadmessage("tired of waiting!"); t.interrupt(); t.join(); } } threadmessage("finally!"); 31 / 38 M. Cebulla Verteilte Systeme
32 Outline Wiederholung: Chat-Server Probabilistische Approximation von Π Eratosthenes multithreaded 1 Wiederholung: Chat-Server 2 Allgemeines Grundkonzepte 3 Erzeugung von Threads Methoden zur Steuerung von Threads Ein Beispiel: Simple Threads 4 Probabilistische Approximation von Π Eratosthenes multithreaded 32 / 38 M. Cebulla Verteilte Systeme
33 Ansatz Wiederholung: Chat-Server Probabilistische Approximation von Π Eratosthenes multithreaded Ein Viertelkreis mit radius 1 hat die Fläche π 4. Ein Quadrat mit der Seitenlänge 1 hat die Fläche 1. Bei Gleichverteilung ist die Wahrscheinlichkeit, dass ein zufällig gewählter Punkt im Viertelkreis liegt, π 4. Bei einer hohen Zahl von Versuchen ist die Anzahl der Punkte im Viertelkreis geteilt durch die Gesamtzahl eine Approximation an π / 38 M. Cebulla Verteilte Systeme
34 Ansatz 2 Wiederholung: Chat-Server Probabilistische Approximation von Π Eratosthenes multithreaded Die Kreislinie wird beschrieben durch die Gleichung x 2 + y 2 = 1 Zufällig ausgewählte Punkte mit x 2 + y 2 < 1 liegen im Viertelkreis 34 / 38 M. Cebulla Verteilte Systeme
35 Die run-methode Probabilistische Approximation von Π Eratosthenes multithreaded 35 / 38 M. Cebulla Verteilte Systeme
36 Thread-Steuerung Probabilistische Approximation von Π Eratosthenes multithreaded 36 / 38 M. Cebulla Verteilte Systeme
37 Sieve-Thread Probabilistische Approximation von Π Eratosthenes multithreaded 37 / 38 M. Cebulla Verteilte Systeme
38 Ausblick Wiederholung: Chat-Server Probabilistische Approximation von Π Eratosthenes multithreaded Konzepte zur Erzeugung und Steuerung von Threads Demnächst: Synchronisation von Threads Weitergehende Konzepte für Java-Threads 38 / 38 M. Cebulla Verteilte Systeme
Dr. Monika Meiler. Inhalt
Inhalt 15 Parallele Programmierung... 15-2 15.1 Die Klasse java.lang.thread... 15-2 15.2 Beispiel 0-1-Printer als Thread... 15-3 15.3 Das Interface java.lang.runnable... 15-4 15.4 Beispiel 0-1-Printer
EINFÜHRUNG IN DIE PROGRAMMIERUNG
EINFÜHRUNG IN DIE PROGRAMMIERUNG FORTGESCHRITTENE KONZEPTE Tobias Witt 26.03.2014 [email protected] 25.12.01.30 Bürozeiten: 09 Uhr - 12 Uhr FEHLERBEHANDLUNG KLASSISCHER ANSATZ Fehlercode als Rückgabewert
Verteilte Systeme CS5001
Verteilte Systeme CS5001 Th. Letschert TH Mittelhessen Gießen University of Applied Sciences Client-Server-Anwendungen: Vom passiven (shared state) Monitor zum aktiven Monitor Monitor (Hoare, Brinch-Hansen,
Praktikum aus Softwareentwicklung 2, Stunde 5
Praktikum aus Softwareentwicklung 2, Stunde 5 Lehrziele/Inhalt 1. Threads Threads Threads sind parallele, oder auf Rechnern mit nur einer CPU quasi-parallele, Programmabläufe in Java. Sie können beispielsweise
5. Threads, Serverprozesse und Benachrichtigungen
5. Threads, Serverprozesse und Benachrichtigungen Threads allgemein Threads in Android: Handler und Messages Services: Local, Remote, Binding Benachrichtigungen Entwicklung mobiler Anwendungen Europäische
Parallele Prozesse Prozeß Parallele Prozesse verzahnte Prozesse Nebenläufige Prozesse: Threads Vorlesung Software-Entwicklung / Folie 131 Ziele:
Parallele Prozesse SWE-131 Prozeß: Ausführung eines sequentiellen Programmstückes in dem zugeordneten Speicher (Adressraum). Veränderlicher Zustand: Speicherinhalt und Programmposition. Parallele Prozesse:
2.2 Prozesse in Java
2.2 Prozesse in Java! Java sieht kein Schlüsselwort für Prozesse vor, sondern bestimmte Klassen und Schnittstellen. Mit anderen Worten: der Prozessbegriff wird mit Mitteln der Objektorientierung eingeführt.
Funktionale und Objekt-Orientierte Programmierkonzepte
Funktionale und Objekt-Orientierte Programmierkonzepte Prof. Marc Fischlin, Wintersemester 15/16 Kapitel 17: GUI, Threads und verschachtelte Klassen 13. Oktober 2010 Dr.Marc Fischlin Kryptosicherheit 1
Nebenläufige Programmierung in Java: Threads
Nebenläufige Programmierung in Java: Threads Wahlpflicht: Fortgeschrittene Programmierung in Java Jan Henke HAW Hamburg 10. Juni 2011 J. Henke (HAW) Threads 10. Juni 2011 1 / 18 Gliederung 1 Grundlagen
Parallele Prozesse. Prozeß wartet
Parallele Prozesse B-66 Prozeß: Ausführung eines Programmes in seinem Adressraum (zugeordneter Speicher) Parallele Prozesse: gleichzeitig auf mehreren Prozessoren laufende Prozesse p1 p2 verzahnte Prozesse:
Nebenläufigkeit mit Java
Nebenläufigkeit mit Java Einheit 02: Eigenschaften & kritische Abläufe Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda Eigenschaften von Threads Name, Priorität, Zustand Zustandsübergänge
Motivation. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 20: Threads. Inhalt. Ein Beispiel zur Motivation
Universität Osnabrück 1 Motivation 3 - Objektorientierte Programmierung in Java Führt ein Applet eine lange Berechnung aus, so erfolgt keine Reaktion auf die Betätigung des Stop-Buttons am Browser bzw.
8.6 Visualisierung der Sortieralgorithmen
8.6 Visualisierung der Sortieralgorithmen 8.6.1 Problemstellung Schauen Sie sich den folgenden Quelltext eines Java-Applets an: import java.awt.*; import javax.swing.*; import java.awt.event.*; public
Ausnahmebehandlung in Java
Ausnahmebehandlung in Java class A { void foo() throws Help, SyntaxError {... class B extends A { void foo() throws Help { if (helpneeded()) throw new Help();... try {... catch (Help e) {... catch (Exception
Mobile und Verteilte Datenbanken
Mobile und Verteilte Datenbanken Java RMI Vorlesung Wintersemester 2010/2011 [email protected] Institut für Informationssysteme Universität zu Lübeck Java Remote Method Invocation (RMI) Realisierung
Thread-Synchronisation in in Java. Threads Wechselseitiger Ausschluss Bedingte Synchronisation Beispiel: Warteschlangen
Thread-Synchronisation in in Java Threads Wechselseitiger Ausschluss Bedingte Synchronisation Beispiel: Warteschlangen Die Klasse Thread Die Die Klasse Thread gehört zur zur Standardbibliothek von von
Remote Method Invocation
Remote Method Invocation Spezielle Technik aus dem Java-Umfeld Ausführung von Methoden auf einem entfernten Rechner Analogon zum RPC (Remote Procedure Call) Zweck: Objekte in verschiedenen Java-VMs Aufruf
Betriebssysteme G: Parallele Prozesse (Teil A: Grundlagen)
Betriebssysteme G: Parallele Prozesse (Teil A: Grundlagen) 1 Prozesse Bei Betriebssystemen stoßen wir des öfteren auf den Begriff Prozess als wahrscheinlich am häufigsten verwendeter und am unklarsten
Java-Programmierung. Remote Method Invocation - RMI
Java-Programmierung Remote Method Invocation - RMI Entwicklungsmethoden Sockets Entwurf verteilter Anwendungen ist relativ aufwändig, da zunächst ein Kommunikationsprotokoll entwickelt werden muss aufwändig
Java Concurrency Utilities
Java Concurrency Utilities Java unterstützt seit Java 1.0 Multithreading Java unterstützt das Monitorkonzept mittels der Schlüsselworte synchronized und volatile sowie den java.lang.object Methoden wait(),
16. Parallelität: Threads
Schwerpunkte 16. Parallelität: Threads Java-Beispiele: ThreadBasicTest.java ThreadSleep.java ThreadJoin.java SpotTest.java Leichtgewichtige und schwergewichtige Prozesse Threads: nutzerprogrammierte Parallelität
Programmierung mit Threads in Java
Programmierung mit Threads in Java Harald Kosch and Matthias Ohlenroth Institut für Informationstechnologie Universität Klagenfurt H. Kosch Threads in Java 1 Inhalt Grundlagen: Threads und Datenlokalität
Verteilte Systeme - Java Networking (Sockets) -
Verteilte Systeme - Java Networking (Sockets) - Prof. Dr. Michael Cebulla 30. Oktober 2014 Fachhochschule Schmalkalden Wintersemester 2014/15 1 / 36 M. Cebulla Verteilte Systeme Gliederung Grundlagen TCP/IP
Nebenläufige Programmierung I
Nebenläufige Programmierung I Martin Wirsing in Zusammenarbeit mit Matthias Hölzl, Piotr Kosiuczenko, Dirk Pattinson 07/03 Ziele 2 Grundlegende Begriffe der nebenläufigen Programmierung verstehen lernen
Mobile und Verteilte Datenbanken
Mobile und Verteilte Datenbanken Java RMI Vorlesung Wintersemester 2013/2014 [email protected] Institut für Informationssysteme Universität zu Lübeck Kommunikations-Middleware Bietet höhere Kommunikations-Dienste
Versuchsziele Konzepte der parallelen Programmierung am Beispiel von Threads anwenden können. Einbau von Kontrollmechanismen mittels Semaphore.
Hochschule Harz Versuch: fcopy Mit Java FB Automatisierung und Informatik Betriebssysteme Thema: Kopieren einer Datei unter der Kontrolle von Semaphoren Versuchsziele Konzepte der parallelen Programmierung
Thread-Konzept in objektorientierten Programmiersprachen. Threads. Threads in Java
Thread-Konzept in objektorientierten Programmiersprachen 1 Threads ein Thread ist ein eigenständiges Programmfragment, das parallel zu anderen Teilen eines Programmes ablaufen kann alle Threads eines Programmes
Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter
Kapitel 1 Der vierte Tag 1.1 Vererbung Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Sprachen. Unter Vererbung versteht man die Möglichkeit, Eigenschaften vorhandener
Beispiel für überladene Methode
Beispiel für überladene Methode class Gras extends Futter {... abstract class Tier { public abstract void friss (Futter x); class Rind extends Tier { public void friss (Gras x) {... public void friss (Futter
Teil 2: OOP und JAVA (Vorlesung 11)
Teil 2: OOP und JAVA (Vorlesung 11) Modul: Programmierung B-PRG Grundlagen der Programmierung II Prof. Dot.-Ing. Roberto Zicari Professur für Datenbanken und Informationssysteme (FB 12) 28.06.06 1 Teil
12. Threads in Java. Sequentielle Abarbeitung (2) Beispiel: Thread (1) Sequentielle Abarbeitung (1)
12. Threads in Java Einführendes Beispiel 12. Threads in Java 12. Threads in Java Einführendes Beispiel Sequentielle Abarbeitung (2) Ein Thread ist eine Folge von Anweisungen, die unabhängig von anderen
Javakurs für Anfänger
Javakurs für Anfänger Einheit 13: Interfaces Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme 1. Teil: Interfaces Motivation Eigenschaften Besonderheiten Anonyme Klassen Lambda-Ausdrücke Praxis:
Remote Method Invocation
Remote Method Invocation spezielle Technik aus dem Java-Umfeld Ausführung der Methoden auf einem entfernten Rechner Analogon zum RPC (Remote Procedure Call) Zweck: Objekte in verschiedenen Java-VM s Aufruf
Prozesse. Prozesse sind Programme. Prozesse können aus Unterprozessen bestehen. Prozesshierarchie Unterprozesse Threads
Threads Prozesse, Parallelität, Nebenläufigkeit, Threads, Erzeugung, Ausführung, Kommunikation, Interferenz, Kritischer Bereich, Deadlock, Synchronisation. Prozesse Prozesse sind Programme mehrere Prozesse
Dezentrale Kontrolle: Aktive Objekte. Aktive Objekte Die Klasse AnimatorThread Aktivierung Objekte beobachten Die Java-Klasse Thread
Dezentrale Kontrolle: Aktive Objekte Aktive Objekte Die Klasse AnimatorThread Aktivierung Objekte beobachten Die Java-Klasse Thread Passive Objekte Bieten Dienste auf Abruf an: - eine Zahl von der Konsole
Java Game Development Fabian Birzele Programmierpraktikum 2008 / 2009
Java Game Development Fabian Birzele Programmierpraktikum 2008 / 2009 Fabian Birzele, LMU Institut für Informatik, Lehrstuhl für Praktische Informatik und Bioinformatik, 2008: Programmierpraktikum 1 Ziele
Einstieg in die Informatik mit Java
1 / 13 Einstieg in die Informatik mit Java Schnittstellen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 13 1 Einführung 2 Definition einer Schnittstelle 3 Implementierung
Zur Erinnerung: Threads. Threadverwaltung. Threads: Prioritäten. Beispiel Flugbuchungsprogramm. Nichtdeterminismus
Zur Erinnerung: Threads Programmierung (fortgeschrittene Konzepte) Threads, Monitore, Semaphore und speisende en Wolf-Ulrich Raffel ([email protected]) Möglichkeiten, Threads zu definieren Bildung einer
Parallele und funktionale Programmierung Wintersemester 2015/ Übung Abgabe bis , 10:00 Uhr
3. Übung Abgabe bis 10.11.2015, 10:00 Uhr Aufgabe 3.1: Java-Synchronisation a) An welchen Stellen im Code kann das Schlüsselwort synchronized verwendet werden? b) Wie nennt sich die Synchronisations-Art,
Vorname: Nachname: Matrikelnummer: Klausur. Betriebssysteme
Vorname: Nachname: Matrikelnummer: Klausur Betriebssysteme 12.02.2013 Hinweise: 1. Beschriften Sie als erstes diese Seite mit Ihrem Namen, Vornamen und Ihrer Matrikelnummer (deutlich in Druckbuchstaben).
Parallele Programmierung in Java
PPJ-1 Parallele Programmierung in Java Prof. Dr. Uwe Kastens Sommersemester 2000 Vorlesung Parallele Programmierung in Java SS 2000 / Folie 01 PPJ-2 Ziele und Durchführung Die Studierenden sollen grundlegende
Anleitung. Ein einfaches RMI-Beispiel. (ab Java 5.0) c Y. Pfeifer. (Juni 2014)
Anleitung Ein einfaches RMI-Beispiel (ab Java.0) c Y. Pfeifer (Juni 014) 1 Ein einfaches RMI-Beispiel Vorgehensweise: 1. Java Projekt anlegen. Zwei Packages server & client erstellen Auf der Server-Seite
Einführung in die Programmierung Blockkurs Java
Michael Bader 8. 12. April 2002 Freitag Inhaltsübersicht Exceptions und Errors Ausnahmebehandlung: try/catch/finally Threads Zugriffskontrolle bei gemeinsamen Variablen: synchronized, wait(), notify()
Systemprogrammierung. Projekt: Java RMI. Wintersemester 2006 / 2007
Systemprogrammierung Projekt: Java RMI Wintersemester 2006 / 2007 Systemprogrammierung 1. Einleitung 2. Einführung in RPC 3. RMI 4. Code Beispiele 5. Live Vorstellung 6. Ausblick 7. Fazit 2 1. Einleitung
4. Thread- und Netzwerk- Programmierung
4. Thread- und Netzwerk- Programmierung 4.1 Ziel dieses Kapitels 4.2 Prozeß versus Thread 4.3 Thread-Programmierung 4.4 TCP/IP Grundlagen 4.5 TCP Programmierung 3. TCP/IP und Threads 3-1 4.1 Ziel dieses
Themen. Web Service - Clients. Kommunikation zw. Web Services
Themen Web Service - Clients Kommunikation zw. Web Services Bisher: Implementierung einer Java Anwendung und Bereitstellung durch Apache Axis unter Apache Tomcat Java2WSDL Erzeugen einer WSDL-Datei zur
Nebenläufigkeit in Java. Prof. Dr. Margarita Esponda
Nebenläufigkeit in Java Prof. Dr. Margarita Esponda Gliederung der Vorlesung - Konzepte der Nebenläufigkeit -Threads in Java - Synchronisationsprobleme - Klassische Lösungen -Semaphoren - Monitore - Lebenszyklus
Java Schulung (Java 2 Java Development Kit 5 / 6)
4. Threads und nebenläufige Programmierung 4.1 Prozesse und Threads Moderne Betriebssysteme geben Benutzer die Illusion, verschiedene Programm würden gleichzeitig ausgeführt (Multitasking) Tatsächlich
Ausgewählte Implementierungsprobleme
Ausgewählte Implementierungsprobleme Rebecca Tiarks 18. Dezember 2008 1 / 30 Inhaltsverzeichnis 1 2 3 Persistenzproblem & CSV Binärformat 2 / 30 Themenübersicht 1 18. Dez: + 2 8. Jan. Swing 3 15. Jan TCP,
Nebenläufige Anwendungen in Java (J2SE, Rich Client, J2EE)
CNAM Wintersemester 2014 / 2015 Nebenläufige Anwendungen in Java (J2SE, Rich Client, J2EE) Im Rahmen von: Betriebssysteme und nebenläufige Anwendungen Agenda Nebenläufigkeit in Java Anwendungen Basisfunktionen
1 Organisatorisches. 2 Compilezeit- und Laufzeitfehler. 3 Exceptions. 4 Try-Catch-Finally
Themen der Übung CoMa-Übung VI 1 Organisatorisches Compilezeit- und Laufzeitfehler 3 Try-Catch-Finally TU Berlin 8.11.01 Bewertung der OA 5 fehlerhaft, Madeleine arbeitet dran CoMa-Übung VI (TU Berlin)
IT in der Arztpraxis Technisches Handbuch zum Kodierassistenten
Technisches Handbuch zum Kodierassistenten [KBV_ITA_AHEX_Handbuch_Kodierassistent] Dezernat 6 Informationstechnik, Telematik und Telemedizin 10623 Berlin, Herbert-Lewin-Platz 2 Kassenärztliche Bundesvereinigung
Objektorientierte Programmierung OOP Objektorientierte Programmierung (OOP) mit Java
9 Übungen: Applets Objektorientierte Programmierung OOP Objektorientierte Programmierung (OOP) mit Java 1. Java-Applet mit Text 2. Java-Applet mit Bild und Text 3. Java-Applet mit Grafik 9 Applets 4. Java-Applet
Synchronisation in Java. Invisible Web
Synchronisation in Java Studienprojekt Invisible Web Tang Zhihong Synchronisation in Java Synchronisationsproblem Monitore Wait und notify PipedInputStream und PipedOutputStream Synchronisation von Collections
Kapitel 13. Abstrakte Methoden und Interfaces. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz
Kapitel 13 Abstrakte Methoden und Interfaces 13. Abstrakte Klassen und Interfaces 1. Abstrakte Klassen 2. Interfaces und Mehrfachvererbung Folie 12.2 Abstrakte Methoden und Klassen Manchmal macht es überhaupt
Nebenläufigkeit mit Java
Nebenläufigkeit mit Java Einheit 03: Synchronisation Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda Synchronisation von Threads Locks Java Monitor-Konzept Lock Freigabe Zusammenspiel
Programmieren in Java
Einführung in die Objektorientierung Teil 4 Interfaces, innere Klassen und Polymorphie 2 Vererbung im Klassendiagram (Wiederholung) Vererbung repräsentiert eine ist ein Beziehung zwischen Klassen Ware
Android Processes & Services
Android Processes & Services Jürg Luthiger University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems Ziele heute Arbeitsblatt 4 besprechen (inkl. Repetition)
Nebenläufigkeit in Java
Nebenläufigkeit in Java Prof. Dr. Margarita Esponda Prof. Dr. Margarita Esponda 1 Gliederung der Vorlesung - Konzepte der Nebenläufigkeit - Threads in Java - Synchronisationsprobleme - Klassische Lösungen
Musterlösungen zur Klausur Informatik 3
Musterlösungen zur Klausur Informatik 3 Justus-Liebig-Universität Gießen Wintersemester 2003/2004 Aufgabe 1 (6 Punkte) Man kreuze bei den folgenden Deklarationen und Definitionen jeweils an, ob sie aus
Threads In dieser Übung beschäftigen wir uns mit der Realisierung von Threads in Java.
Threads In dieser Übung beschäftigen wir uns mit der Realisierung von Threads in Java. Aufgabe 1: Erzeugen und Starten von Threads a) Sei BankKunde eine von einer Klasse Kunde abgeleitete Klasse. Erweitern
Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen
Kapitel 9 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Attribute von Klassen, Methoden und Variablen Interfaces WS 07/08 1/ 18 2/ 18
Erzeugungsmuster. Kapselung der Objekt-Erzeugung
Erzeugungsmuster Kapselung der Objekt-Erzeugung Definition Erzeugungsmuster dienen für die Lose Koppelung, bei der erst zur Laufzeit der Typ des zu erzeugenden Objekts festgelegt wird. Abstract Factory
Java Reflection. Meta-Programmierung mit der java.lang.reflection API. Prof. Dr. Nikolaus Wulff
Java Reflection Meta-Programmierung mit der java.lang.reflection API. Prof. Dr. Nikolaus Wulff Java Reflection Die Java Reflection API liefert per Introspection Informationen über Klassen => Meta-Daten.
Exceptions. CoMa-Übung VII TU Berlin. CoMa-Übung VII (TU Berlin) Exceptions / 1
Exceptions CoMa-Übung VII TU Berlin 7.11.013 CoMa-Übung VII (TU Berlin) Exceptions 7.11.013 1 / 1 Themen der Übung 1 Compilezeit- und Laufzeitfehler Exceptions 3 Try-Catch-Finally CoMa-Übung VII (TU Berlin)
LeJOS: Mindstorms in Java programmieren
LeJOS: Mindstorms in Java programmieren Alexander Koller Softwareprojekt "Sprechende Roboter" 30. April 2004 Überblick Warum Java? Was ist LeJOS? Motoren steuern Auf Sensoreingaben reagieren Wie geht's
Nebenläufige Programmierung I
Nebenläufige Programmierung I Martin Wirsing in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer SS06 2 Ziele Grundlegende Begriffe der nebenläufigen Programmierung verstehen lernen Nebenläufige Programme
Multithreading ab Java 5: Die neuen Concurrency APIs
Multithreading ab Java 5: Die neuen Concurrency APIs Java Concurrency Spezifiziert in JSR166 Ab Java 5 fester Bestandteil von Java Durch zusätzliche Library auch vor Java 5 vorhanden backport-util-concurrent
Informatik II Übung 06. Benjamin Hepp 5 April 2017
Informatik II Übung 06 Benjamin Hepp [email protected] 5 April 2017 Nachbesprechung U5 5 April 2017 Informatik II - Übung 01 2 Nachbesprechung U5 1. Einfach verkettete Listen Keine Probleme 2.
Methoden und Klassen. Silke Trißl Wissensmanagement in der Bioinformatik
Methoden und Klassen Silke Trißl Wissensmanagement in der Bioinformatik Wiederholung Jede Applikation braucht eine Klasse mit einer main-methode Eintrittspunkt in das Programm Die main-methode wird public
Rekursion. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Rekursion Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-12-13/infoeinf WS12/13 Aufgabe 1: Potenzfunktion Schreiben Sie eine Methode, die
Klausurvorbereitung VS1 (Prof. Brecht) (B0rg Edition)
Ein Prozess kann unmittelbar vom Zustand 1. Running in den Zustand Ready 2. Running in den Zustand Blocked 3. Ready in den Zustand Running Klausurvorbereitung VS1 (Prof. Brecht) (B0rg Edition) Der Adressraum
Abgabe: keine Pflichtabgabe (vor 12 Uhr) Aufgabe 10.1 (P) Vererbung Gegeben seien folgende Java-Klassen:
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2011 Einführung in die Informatik I Übungsblatt 10 Prof. Dr. Helmut Seidl, A. Lehmann, A. Herz,
Grundlagen zur nebenläufigen Programmierung in Java
Grundlagen zur nebenläufigen Programmierung in Java Karlsruher Entwicklertag 2013 5. Juni 2013 Referent: Christian Kumpe Inhalt des Vortrags Was zeigt dieser Vortrag? Ein einfaches Beispiel mit allerlei
Network Communication. Dr. Jürgen Eckerle WS 06/07
Network Communication Dr. Jürgen Eckerle WS 06/07 1 Thread-Programmierung ist wichtig um Nebenläufigkeit bei der Netzwerkprogrammierung zu realisieren Typisches Muster beim Server: Server-Handler. Der
AK-Automatisierungs und Kommunikationstechnik TI Technische Informatik. NWT Netzwerktechnik www.munz-udo.de
Stand FTE2 Anfang 4. Semester plus Projekt Multiuhren_Thread Ich gehe im Hinblick auf Klassenarbeiten und der Abschlussprüfung davon aus, dass Sie das Skript OOP JAVA2 durchgearbeitet haben. Wir haben
Institut für Programmierung und Reaktive Systeme 17. Juli Programmieren II. Übungsklausur
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 17. Juli 2015 Hinweise: Klausurtermine: Programmieren II Übungsklausur Programmieren I: 7. September
Betriebssysteme. Wintersemester 2015. Kapitel 2 Prozess und Threads. Patrick Kendzo [email protected]
Betriebssysteme Wintersemester 2015 Kapitel 2 Prozess und Threads Patrick Kendzo [email protected] Programm Inhalt Einleitung Prozesse und Threads Speicherverwaltung Eingabe und Ausgabe Dateisysteme Zusammenfassung
