Synchronized修饰代码块
public class SynchronizedClass {
static class Child extends Thread{
public void run() {
for(int i=0;i<100;++i) {
//synchronized修饰代码块
synchronized(Counter.class) {
Counter.classincr();
}
}
}
}
public static void main(String[] args) throws InterruptedException {
//创建100线程并发运行
Thread []threads=new Thread[100];
for(int i=0;i<100;++i) {
threads[i]=new Child();
threads[i].start();
}
//主线程等待子线程结束
for(int i=0;i<100;++i) {
threads[i].join();
}
System.out.println(Counter.classcount);
}
}
class Counter{
public static int classcount;
public static void classincr() {
classcount++;
}
}