Name = Thread-0
Name = main
Name = Thread-0
Name = main
Name = main
This is a version of the results I am getting when I run the program. I don't understand why it displays Name = main. After all, we are starting a new ThreadNamePrinter object named tnp which creates and starts a new thread object. I assume it has something to do with the Thread.currentThread() assignment to variable t but doesn't that assign the newly created current thread to that variable? Therefore, shouldn't the answer be Name = Thread-0 Name = Thread-0 etc?