hola,
Ese ejercicio lo colocan de tarea en un libro de java, pero no me acuerdo cual es... pero lo que si me acuerdo es que la tare se colocaba para saber si el lector habia entendido o no un capitolo de hilos( clase Thread e interfaz Runnable), yo recomendaria que se leyera un buen tutorial de hilos en java y luego intentara resolver el problema.
No le publico el codigo por que siento que ud aprenderia mas, resolviendolo ud mismo, y ademas yo se que la satisfaccion que se siente al observar cual de los tres algoritmos es el mas obtimo y cual no.
Mucha suerte.