class PrintThread2 extends Thread
{
char ch;
static Object printer=new Object();
public PrintThread2(char ch)
{
this.ch=ch;
}
void printch()
{
synchronized(printer)
{
for(int i=1;i<=10;i++)
{
System.out.print(ch);
}
}
}
public void run()
{
        for(int i=1;i<=5;i++)
{
printch();
System.out.println();
}
}
}
public class synchronization
{
public static void main(String[] args)
{
PrintThread2 pt1=new PrintThread2('A');
PrintThread2 pt2=new PrintThread2('B');
PrintThread2 pt3=new PrintThread2('C');
pt1.start();
pt2.start();
pt3.start();
}
}
什么是下面这样的输出的:
AAAAAAAAAA
AAAAAAAAAABBBBBBBBBB
CCCCCCCCCC
BBBBBBBBBBCCCCCCCCCC
CCCCCCCCCCBBBBBBBBBBAAAAAAAAAA
AAAAAAAAAA
AAAAAAAAAABBBBBBBBBB
CCCCCCCCCC
BBBBBBBBBBCCCCCCCCCC
为什么不是:
AAAAAAAAAA
AAAAAAAAAA
BBBBBBBBBB
CCCCCCCCCC
BBBBBBBBBB
CCCCCCCCCC
CCCCCCCCCC
BBBBBBBBBB
AAAAAAAAAA
AAAAAAAAAA
AAAAAAAAAA
BBBBBBBBBB
CCCCCCCCCC
BBBBBBBBBB
CCCCCCCCCC
不是线程竞争启动,然后在run方法中调用printch()方法同步输出10个字符后换行吗?