codice:
System.out.println ("ora mi fermo e faccio partire l'altro thread");
in che modo stai mettendo in attesa il thread?
bè in realtà non è che lo metto in attesa , lui termina le sue istruzioni quindi termina il suo "ciclo di vita"..poi al termine dell'altro lo "ricreo" e riavvio

e poi, ho visto che l'oggetto timer lo utilizzi solo una volta ed alla fine del'esecuzione di T2 prima di rilanciare T1... cosa fa questo?
mmm no , io il timer lo istanzio e inizializzo specificandogli cosa deve fare ad ogni suo evento (ogni secondo incrementa una variabile)..
istanziando ed inizializzando un thread (t [0]) ancora non lo sto mandando in "esecuzione" , gli ho solo dato le direttive , fin quando non gli invoco lo "start" lui nn parte , quindi prima di avviarlo avvio il timer (una sola volta) perchè è condiviso (condiviso per modo di dire , in quanto i due thread non vivono contemporaneamente) dai thread..