Bof, les threads en java, ça coute rien, et puis les deux façons de faire répondent pas au même besoin: avec la façon "now()-maxtime", t'as une boucle infinie, et t'as interet à ce que cette boucle s'execute rapidement si tu veux un minimum de précision.
Avec les 2 threads en //, l'autre tâche n'a pas à être cyclique et peut etre simplement très longue/lente, et interrompue précisement quand on le veut.
Pour info, c'est par un système similaire que les serveurs d'applis j2ee se permettent d'interrompre des transactions trop longues (par rapport à un timeout défini)
---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?