16.
What is the output for the below code ?
public class Test extends Thread{
      public static void main(String argv[]){
            Test t = new Test();
            t.run();
      }

      public void start(){
            for(int i = 0; i < 10; i++){
                  System.out.println("Value of i = " + i);
            }
      }
}

18.
What is the output for the below code ?
class A implements Runnable{
      public void run(){
            System.out.println(Thread.currentThread().getName());
      }
}

1. public class Test{		
2.       public static void main(String... args){	
3.             A a = new A();
4.	       Thread t = new Thread(a);
5.	       t.setName("good");
6.	       t.start();
7.       }
8. }

19.
Predict the output:
public class Test extends Thread{
      private int i;
      public void run(){
            i++;
      }

      public static void main(String[] args){
            Test a = new Test();
            a.run();
            System.out.print(a.i);
            a.start();
            System.out.print(a.i);
      }
}

20.
What will be the output after compiling and executing the following code?
public class Test implements Runnable{
      public static void main(String[] args) throws InterruptedException{
            Thread a = new Thread(new Test());
            a.start();
            System.out.print("Begin");
            a.join();
            System.out.print("End");
      }
    
      public void run(){
            System.out.print("Run");
      }
}