1) KISS = Keep It Simple, Stupid!
e' una regola base che si legge sui manuali di programmazione (non necessariamente in tutti, diciamo che qualche spiritoso ha tirato fuori questa cosa) :gren:.
2) Per formattare il codice lo devi inserire tra i tag [ CODE ] e [ /CODE ] (senza spazi), cosi' rendi il codice piu' chiaro a chi lo deve leggere.
3) Per il tuo problema ti consiglio di dare un'occhiata al package java.nio, in cui ci sono gli stream non bloccanti. Se un thread ti si blocca su un metodo write() non hai la possibilita' di forzarne la chiusura, devi implementare tu un modo in cui continui a controllare un flag. Se questo flag e' attivato, il thread esce da run() e cosi' muore.