I have an object with a method named StartDownload(), that starts three threads.
StartDownload()
How do I get a notification when each thread has finished executing?
You could also use SwingWorker, which has built-in property change support. See addPropertyChangeListener() or the get() method for a state change listener example.