24 Commits
Author SHA1 Message Date
Aryan fa95f2ebeb Merge pull request 'Dev' (#3) from dev into main
Reviewed-on: #3
2026-06-05 20:30:51 +00:00
Aryan ef19e4e904 docs: update README submission section and improve clarity 2026-06-05 23:59:27 +03:30
Aryan 797ec969fb docs: add image to README 2026-06-05 23:02:45 +03:30
Aryan a49bcffe8e docs: refine HW-09 README 2026-06-05 22:32:27 +03:30
Aryan 5f7cc2f255 test(concurrency): improve deadlock detection in BankAccount transfer stress test 2026-06-05 22:08:16 +03:30
Aryan 74963fbf29 feat(tests): add redesigned concurrent banking test suite aligned with TransactionProcessor architecture
- Introduce BankAccount-focused concurrency tests based on Transaction → Processor → Account flow
- Add stress tests for high-contention deposits, withdrawals, and bidirectional transfers
- Validate atomicity and consistency across multi-threaded execution scenarios
- Include deadlock detection tests under heavy transfer contention
- Align all test cases with updated module structure and BankAccount concurrency contract
2026-06-05 21:53:35 +03:30
Aryan a063274fb9 feat(bank-account): add student implementation template for concurrency assignment
- Provide clean BankAccount skeleton for student implementation
- Define thread-safety responsibilities for getBalance, deposit, withdraw, and transfer
- Add detailed TODO comments clarifying concurrency and deadlock requirements
- Include hints for lock strategy and global ordering for transfer method
- Ensure compatibility with DemoApplication and stress testing infrastructure
2026-06-05 20:48:53 +03:30
Aryan 353873f10d refactor(banking-demo): introduce DemoApplication orchestrator and add controlled lifecycle management
- Replace DemoFactory with DemoApplication to centralize system setup, execution, and shutdown
- Move ExecutorService and ScheduledExecutorService lifecycle management into application layer
- Ensure proper shutdown sequence for worker and monitoring threads
- Simplify Main class to a minimal entry-point wrapper
- Improve clarity of execution flow: build → run → shutdown
- Prevent resource leakage by explicitly awaiting termination of thread pools
2026-06-05 20:31:08 +03:30
Aryan 43a53bdabf feat: implement TransactionProcessor with type-based dispatch for all transaction operations 2026-06-05 19:44:28 +03:30
Aryan 8cb8c11260 feat(model): introduce transaction hierarchy with deposit, withdraw, and transfer types 2026-06-05 19:20:24 +03:30
Aryan 281d47463e Delete directory '.idea' 2026-06-05 00:09:04 +00:00
Aryan 4dc7602a7d Merge pull request 'Implement JUnit 5 test suite for concurrency and deadlock scenarios' (#1) from unit-test into dev
Reviewed-on: #1
2026-06-05 00:04:44 +00:00
Aryan b6a7429d46 docs: add theoretical questions on atomic variables, synchronization, scalability, and deadlocks 2026-06-05 03:26:13 +03:30
Aryan 11a513ad85 Merge pull request 'Theoretical questions Added to readme file' (#2) from theoretical-questions into dev
Reviewed-on: #2
2026-06-04 22:13:22 +00:00
Arya_Kargar 73395fa188 test: add unit tests for multithreading scenarios 2026-06-04 21:00:09 +03:30
peyman 1df0d7b721 Theorical questions updated 2026-06-04 17:04:12 +03:30
peyman 5c7ddec694 Theorical questions added 2026-06-04 16:57:26 +03:30
Aryan 6d8bee27f1 docs: minor updates to README 2026-06-03 16:58:08 +03:30
Aryan 1e7b98ffab test: add empty test classes for BankAccount concurrency and deadlock scenarios 2026-06-03 16:53:58 +03:30
Aryan d52dbe46ad feat: add demo Main entry point for banking system simulation 2026-06-03 16:53:13 +03:30
Aryan ac35c817ee feat: add advanced multithreading banking system skeleton 2026-06-03 16:48:39 +03:30
Aryan 1b38f250e5 docs: add detailed README for Advanced Multithreading banking system assignment 2026-06-03 16:45:39 +03:30
Aryan ed1932255a build: add Maven pom.xml 2026-06-03 14:35:10 +03:30
Aryan 824a905135 Initial commit 2026-05-27 17:52:39 +00:00