Coi Thread, ho notato, la cosa migliore e' sperimentare... Perche' cose che dovrebbero funzionare sulla carta poi potrebbero rivelarsi sbagliate!
Ad esempio, i controlli del set Swing creano casini se piu' thread cercano di accedervi contemporaneamente. Ho letto diverse spiegazioni a riguardo, ma ancora non ho capito bene in cosa consiste il problema, ma se dovessi avere il mio stesso problema, ho risolto con la classe SwingWorker3 scaricabile e utilizzabile liberamente dal sito Sun.
Se cmq devi solo operare su dati, si', l'unica cosa di cui ti devi preoccupare e' la gestione dell'accesso ai dati, e la sincronizzazione: nonostante esista la funzione stop(), analoga di start(), ne viene deprecato l'utilizzo, incoraggiando, se possibile, la ricerca di un modo alternativo per i thread di sincronizzarsi.