11.
Predict the output:
class A implements Runnable{
      public void run(){
            try{
                  for(int i=0;i<4;i++){
                        Thread.sleep(100);
                        System.out.println(Thread.currentThread().getName());
                  }
            }catch(InterruptedException e){
            }
      }
}

public class Test{
      public static void main(String argv[]) throws Exception{
            A a = new A();
            Thread t = new Thread(a, "A");
            Thread t1 = new Thread(a, "B");
            t.start();
            t.join();
            t1.start();
      }
}

12.
What will be the output?
class A extends Thread{
      public void run(){
            for(int i=0; i<2; i++){
                  System.out.println(i);
            }
      }
}

public class Test{
      public static void main(String argv[]){
            Test t = new Test();
            t.check(new A(){});
      }
      public void check(A a){
            a.start();
      }
}

13.
What will happen when you attempt to compile and run the following code?
class A implements Runnable{
      public void run(){
            System.out.println("run-A");
      }
}

1. public class Test{
2.       public static void main(String argv[]){
3.             A a = new A();
4.             Thread t = new Thread(a);
5.             System.out.println(t.isAlive());
6.             t.start();
7.             System.out.println(t.isAlive());
8.       }
9. }

15.
What notifyAll() method do?