package com.ocjp.thread;
import java.lang.Thread;
import java.lang.*;
public class MyThread extends
Thread {
StringBuffer str;
int counter=0;
public void run(){
synchronized(this){
System.out.println(counter);
for(int i=1;i<=2;i++){
System.out.println((char)(str.charAt(0)+counter));
}
++counter;
}
}
public MyThread(StringBuffer sb){
str=sb;
}
public static void main(
String[] args) {
// TODO Auto-generated method stub
StringBuffer sb=new StringBuffer("A");
MyThread one=new MyThread(sb);
MyThread two=new MyThread(sb);
MyThread three=new MyThread(sb);
one.start();
two.start();
three.start();
}
}
Why this code is not printing 2 B's and 2 C's after 2A's.It is printing 6 A's.