JAVA запустить в отдельном потоке + передача параметров в поток - запуск в отдельном потоке

Чтобы запустить код в отдельном потоке на ява , можно использовать следующий способ:

1) реализовать интерфейс Runnable - например так =

public class MyThread implements Runnable {
	
	  public String path;// параметр 
	  public MyThread(String path) {// через конструтор передадим параметр
	       // передаём в конструктор все параметры, которые могут пигодится потоку
	   this.path=path; // сохраняем параметры как поля - мне нужен только один =))
	  }

	   public void run() { 
		   // здесь пишем код, который будет исполняться в отдельном потоке
	     // далее я вызываю два статических метода одного из своих классов (самописный класс)))
		   String data = DoIt.readDataFromFile(this.path); //читаем 
	     DoIt.writeDataInFile(path, data); // пишем
	   }
	

}

а теперь, чтобы код размещённый в его методе run() запустился в отдельном потоке в вызывающем коде надо написать следующее (или что-то аналогичное) =

   Runnable r = new MyThread("C:/123/34.txt"); // создаём класс и передаём в него параметр
          new Thread(r).start(); // передаём объект r как параметр создаваемого потоку
          // теперь код из run() может работать в отдельном потоке + 
          // обрабатывать переданные параметры! =)) о как)