Sample81 is run - what will be the output?
public class Sample81
{
public static void main(String[] args) throws InterruptedException
{
for (int i = 0; i < 3; i++)
{
final int n = i;
Thread t = new Thread(() -> System.out.print(n));
t.start();
t.join();
}
}
}
Answer: A
Each thread is joined inside the loop before the next is created, so the three run strictly in turn and print in order. Copying the counter into a final local is what lets the lambda capture it; the loop variable itself is not effectively final.
Please log in or register to report this question.