@TODO : Améliorer le README.MD (le texte y compris)
🏦 Simulateur de Transactions Bancaires Concurrentes
Ce programme en C simule des transactions bancaires aléatoires entre comptes dans un environnement multi-processus. Il est conçu pour illustrer les défis de la concurrence sans synchronisation explicite.
✨ Fonctionnalités
- 📖 Lecture et écriture de comptes : Les comptes sont stockés dans un fichier avec un format fixe (nom et solde).
- 🔄 Transactions aléatoires : Effectue des transferts d'argent aléatoires entre comptes.
- 🤹 Simulation multi-processus : Plusieurs processus enfants effectuent des transactions simultanément.
- 📊 Calcul des soldes : Affiche le solde total avant et après les transactions.
⚠️ Limitations et Bugs Potentiels
🚨 Ce programme n'utilise pas de mécanismes de verrouillage pour gérer la concurrence.
-
💥 Problème de concurrence :
- Plusieurs processus peuvent lire et écrire dans le fichier en même temps, entraînant des incohérences dans les soldes (race condition).
- Par exemple, deux processus modifiant simultanément un compte peuvent écraser leurs changements.
-
📉 Corruption des données :
- Une interruption (crash ou arrêt forcé) pendant une transaction peut laisser des données partiellement écrites.
-
❌ Absence de validations robustes :
- Aucune vérification supplémentaire pour s'assurer que les montants transférés sont cohérents en cas de concurrence.