main类里有一个public static int i=0;在线程thread1 里 做读main.i的操作
在线程thread2 里 做修改main.i的操作请问需要加锁吗,使用synchronized的吗,具体怎么写.另外需要AtomicInteger , volatile 吗?这2个分别是什么意思 ?

解决方案 »

  1.   

    当然要可以用synchronized和AtomicInteger不能用volatile,这个关键字指示变量是易变的,提醒jvm不要保存它的副本
      

  2.   


    老兄 能具体点不 java新手来的
      

  3.   

     java中synchronized用法  
    java synchronized详解
      

  4.   

    那要看你的需求了譬如我a线程修改了一个变量,b线程不需要知道或立马知道,就无需同步如果a修改后b立马就要知道,就需要用同步来保证变量的可见性了
      

  5.   


    立马要知道,synchronized怎么写呀 用AtomicInteger又怎么写 上代码