Mythread extends Thread
synchronized (Mythread.class) {
//锁类 即此类的实例拥有共同的锁 即锁共有 @@可以当成是类变量的感觉..所以对象共享
}
synchronized (this) {
//锁对象 即各实例都有各自的锁 @无意义
}
但如果是实现自runable接口则可以使用this
MyThread implements Runnable
MyThread my = new MyThread();
Thread t = new Thread(my);
Thread t2 = new Thread(my);
Thread t3 = new Thread(my);
因创建线程对象不同 因为runable方式的几条线程是共享一个对象
查阅文档 JDK5以后有Lock锁可代替 可不知因何测后仍有同步问题..可能是方式不对
其实为了避免问题 俩种线程方式都可直接锁 xxx.class 即可