JAVA запустить в отдельном потоке + передача параметров в поток - запуск в отдельном потоке
Primary tabs
Forums:
Чтобы запустить код в отдельном потоке на ява , можно использовать следующий способ:
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() может работать в отдельном потоке +
// обрабатывать переданные параметры! =)) о как)- Log in to post comments
- 16171 reads