Programmation Multi-Thread avec Java JSE
Code |
Titre |
Durée |
Prix HT |
MTH300 |
Programmation Multi-Thread avec Java JSE |
3 jours |
Nous consulter |
Objectifs
Développer des applications multi-tâches temps réel, à synchroniser les processus et les nouveautés apportées par l'API de concurrence de la plateforme Tiger. |
Public
Développeurs désirant connaître la programmation temps réel multithread. |
Pré-requis
Une connaissance de la programmation en Java est nécessaire |
Post-Formation
|
Méthodes
50% Pratique 50% Théorique |
Programme
Rappel sur les processus
- Introduction
- Rappel : Notion d'interface en java
- Création d'un thread
- Héritage de la classe Thread
- L'interface Runnable
- Méthode de la classe Thread
- Partage de la mémoire entre Threads
- Synchronisation
- Un problème d'accès concurrent
- Mot clé synchronized
- Synchronisation temporelle : wait et notify
- Interblocages
Tubes de communication
- Introduction
- Tubes entre threads JAVA
Exemples Producteurs - Consommateurs
Principe général
Tampon simple
Sémaphores et Mutex
- Principe des sémaphores
- Principe des mutex
- Mécanisme des sémaphores
- Exemple 2 : La Boîte Aux Lettres
Implémentation des Automates à États Finis
- La modélisation
- L’interface générique
- La classe abstraite
- Implémentation d'un timer
- Etats conccurents et synchronisation d'activités
Programmation événementielle
- Présentation
- Composants et événements
- Événements personnalisés
- Interface de surveillance
- Auditeurs d’événements
- Sources d’événements
- Exercice : communication événementielle asynchrone entre automates
- Exercice : les philosophes
JSE 6.0 API de concurrence
- Introduction
- La représentation du temps et de ses unités
- Les exécuteurs de tâches
- Executor
- ExecutorService
- Le framework Executors
- Service ExecutorService
- Service ScheduledExecutorService
- Service "enveloppé" ExecutorService
- Les fabriques de thread
- Les Callable
- Les queues
- Queue
- BlockingQueue
- Deque (1.6)
- BlockingDqueue (1.6)
- Les Map atomiques
- ConcurrentMap
- ConcurrentHashMap
- Les synchroniseurs
- Loquet
- Barrière
- Sémaphore
- Echangeur
- Exercice : les philosophes avec la nouvelle API
- Les traitements asynchrones anticipés
- L'interface Future
- Exemple
- Les autres packages
- Les variables atomiques
- AtomicInteger
- AtomicLong
- AtomicReference
- Les nouveaux verrous « haute performance »
- Lock
- ReentrantLock
- ReadWriteLock
- Condition
|
Environnement
|
Mot-clés
MTH300_Programmation-Multi-Thread-JSE-JAVA-JSE-Developpement-Tests-Maintenance_MTH300 |
Commander
Formafast
Rue du Lac Windermere, Byzance Center, Bloc A - 1053 Les Berges du Lac - Tunisie
Tel: (+216) 31 400 501
Fax: (+216) 32 400 501
Mobile: (+216) 55 666 600
E-mail: contact@formafast.com