本文主要是介绍java,重入锁的变量值不变,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
public class Main implements Runnable {static Main instance=new Main();static int i=0;static int k=3;//把k改成3@Overridepublic void run() {for(int j=0;j<10;j++){System.out.println(j +" aaaaaa");//this,当前实例对象锁synchronized(this){i++;System.out.println(j +" bbbbbb");increase(j);//synchronized的可重入性}}}public synchronized void increase(int j){//这里传入jj++;j++;System.out.println(j +" cccccc");}public static void main(String[] args) {Thread t1=new Thread(instance);t1.start();try {t1.join();} catch (InterruptedException e) {e.printStackTrace();}System.out.println(i);}
}//0 aaaaaa
//0 bb
这篇关于java,重入锁的变量值不变的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!