Programmation Multi-Thread avec Java JSE

Partager par email

×

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