how does the method Thread.currentthread() work?
you would expect it to return a list of currently running threads
Yes, it is true. In a multicore / multiprocessor system it is possible to have more than one currently running thread.
But that is not the purpose of the method. The purpose of the method is to return the Thread object that is running the current code that calls the method -- and the purpose of that is to write thread specific code.
Henry