Zur Zeit habe ich einen Code wie folgt:Rückkehr Wert nach mehrer Runnable Finish
public String getValue()
{
StringBuilder builder = new StringBuilder();
// 1st step
//some logic to retreive code from database returning value
//doing something with the returned value add it to collection
builder.append(someString1);
// 2nd step
//some logic to retreive code from database returning value
//doing something with the returned value add it to collection
builder.append(someString2);
// 3rd step
//some logic to retreive code from database returning value
//doing something with the returned value add it to collection
builder.append(someString3);
return builder.toString();
}
ich über Runnable-Objekt gelesen habe, die verwendet werden können, Prozess in mehr Thread zu spalten, die wie meinen Code in etwas ändern gehen dies:
public String getValue()
{
Thread firstTread = new Thread(new Process1());
firstTread.start();
Thread secondTread = new Thread(new Process1());
secondTread.start();
Thread thirdTread = new Thread(new Process1());
thirdTread.start();
// here i got confuse how to determine whether all thread allready finished
// before returning builder.toString();
}
//this is internal class
class Process1 implements Runnable
{
public void run()
{
//do something and add to StringBuilder
}
}
class Process2 implements Runnable
{
public void run()
{
//do something and add to StringBuilder
}
}
class Process3 implements Runnable
{
public void run()
{
//do something and add to StringBuilder
}
}
Wie kann ich erreichen, dass mein Ziel, den Prozess in mehr Thread zu spalten?
Es wäre einfacher, eine ExecutorService zu verwenden. – assylias
Es stört dich nicht, dass die Saiten in anderer Reihenfolge sein könnten? – Stefan
Ist das für Java 8? – daniu