Outils pour utilisateurs

Outils du site


dev:python:synchrone:exemple

Exemple de programmation synchrone

Prenons l'exemple de la fabrication d'une voiture, avec des valeurs de temps fictives !

Programmation synchrone d'une voiture

  • Fabrication de la carrosserie : 4 heures
    • prendre les feuilles de métal
    • découper les feuilles de métal
    • souder/coller les feuilles de métal
    • peindre la carosserie
  • Fabrication du moteur : 3 heures
  • Assemblage de la voiture : 2 heures
    • mettre le moteur,
    • mettre les équipements
  • Vérification du bon fonctionnement : 1 heure

Voici un programme python qui simule le temps de fabrication de la voiture

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
 
#Fabrication d'une voiture
import time
 
#déclaration des fonctions pour chaque des taches
def carosserie():
   time.sleep(4) # pour le temps d'exécution de 4 secondes au lieu de 4 heures
   print("Carosserie prête.")
 
def moteur():
   time.sleep(3) # pour le temps d'exécution de 3 secondes au lieu de 3 heures
   print("Moteur prêt.")
 
def assemblage():
   time.sleep(2) # pour le temps d'exécution de 2 secondes au lieu de 2 heures
   print("Assemblage fini.")
 
def verification():
   time.sleep(1) # pour le temps d'exécution 1 seconde au lieu de 1 heure
   print("Vérifications finies.") 
# l'enchainemetn des taches
print("Début fabrication de la voiture")
debutFabrication = time.time() # memoriser l'heure de debut
carosserie()
moteur()
assemblage()
verification()
finFabrication = time.time() # memoriser l'heure de fin
print("Voiture fabriquée en {} heures.".format(round(finFabrication - debutFabrication),0))

Le résultat de l'exécution du programme indiquera un temps de fabrication de 8 heures :

pi@rapsberrypi:~ $ Début fabrication de la voiture
pi@rapsberrypi:~ $ Carrosserie prête.
pi@rapsberrypi:~ $ Moteur prêt.
pi@rapsberrypi:~ $ Assemblage fini.
pi@rapsberrypi:~ $ Vérifications finies.
pi@rapsberrypi:~ $ Voiture fabriquée en 10.0 heures.

Retour à Python : programmation asynchrone ...

dev/python/synchrone/exemple.txt · Dernière modification: 2018/02/04 15:00 (modification externe)