最近在学java 看到线程同步的时候遇到这样一个问题 代码如下:
public class BasicThread {
private int count = 0; public BasicThread() {
new IncreateThread().start();
new printThread().start();
} /**
 * 以下两个函数以同步的方式访问count
 * 
 */
private synchronized void increate() {
count++;
MyTools.sleep(100);// 包装了Thread.sleep(100)
} private synchronized void myPrintln() {
System.out.println(count);
MyTools.sleep(100);
} /**
 * 以下两个线程分别调用上边的函数
 * 
 * 
 */
class IncreateThread extends Thread {
public void run() {
while (true) {
increate();
}
}
} class printThread extends Thread {
public void run() {
while (true) {
myPrintln();
}
}
} public static void main(String[] args) {
new BasicThread();
}
}按理说IncreateThread启动以后就进入increate函数、进入了while死循环  也就取得了对象机锁。另一个线程printThread就不可能有机会执行myPrintln函数。但是结果恰恰相反,请高手指教。。