MyTetra Share
Делитесь знаниями!
Запуск функции с аргументом отдельным потоком
Время создания: 08.04.2021 14:07
Раздел: Компьютер - Java
Запись: Kozlov-AE/Tetra/master/base/1615671798egpwquguol/text.html на raw.githubusercontent.com

Можете воспользоваться классами Callable и FutureTask:


public class Main {


//функция, которую нужно выполнить в отдельном потоке

public static String executePost(String targetURL, String urlParameters) { return "any";}


static class SomeThing implements Callable<String>

{

String targetURL;

String urlParameters;


SomeThing(String url, String params) {

this.targetURL = url;

this.urlParameters = params;

}


@Override

public String call() throws Exception {

System.out.println("Привет из побочного потока!");

return executePost(targetURL, urlParameters);

}

}


private static SomeThing mThing;


public static void main(String[] args) {


String forSearch = "Radioactive";

mThing = new SomeThing("https://itunes.apple.com/search?term=" + forSearch, "");


FutureTask<String> task = new FutureTask<>(mThing);

Thread myThready = new Thread(task);

myThready.start();


try {

String quest = task.get();

System.out.println(quest);

} catch (InterruptedException | ExecutionException e) {

//something

}

}

}

 
MyTetra Share v.0.59
Яндекс индекс цитирования