Multithreaded Bank Operation System
Designed and engineered a thread-safe banking system using Java that supports concurrent deposits, withdrawals, and account transfers. Applied fine-grained locking using ReentrantLock to prevent race conditions and ensure transcational data consistency under concurrent access. Architected a deadlock-free transfer mechanism using ordered locking strategies to guarantee safe fund transfer between accounts. Utilized ConcurrentHashMap to manage multiple bank accounts safely in a multithreaded environment. Implemented overdraft protection and maintained transaction history for auditing and simulated real-world concurrent transactions using multiple threads for auditability and reliability.