being a java developer what do you think, "would multi-threading play a vital role in maintaining concurrency for efficient and fast transactions of atm or will slow down the atm services by making it more complicated?”.
I would state that performance is not the main challenge of an atm, nor is multi-threading. Robustness and provable correctness is of greater importance, and those are much easier to achieve using a single-threaded solution.