with regard to execution time, in theory, threads will not help you on a single processor. in fact, they will hurt you; they will introduce a mandatory task switching overhead - the
thread scheduler will waste more of your cycles juggling your threads.
but very few programmers need to worry about CPU time that much any longer; processors have grown fast. that small overhead should be of no real consequence in the vast majority of cases. what threads
might do for you is simplify your code. if each one of your threads does a single, simple, easy to understand thing, then you won't have to burden your logic with switching back and forth between your tasks to keep them all serviced - the thread scheduler will do that for you. as a result, your code should be more maintainable.
should be, in theory, that is. for myself, i am not yet convinced that this will necessarily be the case with threads, or that threads have that much advantage over standard, "heavyweight" processes. however, threads are the model the designers of
Java chose to go with, and it's still one of the most powerful tools in the Java language. so long as we're using Java, not learning threads would be silly.