如题,在一个runnable中对field a进行更改...那么在另一个runnable中我想对现在的a进行操作(在第一个runnable已经改了)
求解如何做?是优先级的问题还是数据同部的问题?

解决方案 »

  1.   

    线程同步的问题,变量可以用volatile,一段代码或方法用synchronized,也可以加读写锁
      

  2.   

    这两个是同时运行的..我想第一个运行完...才把cpu交给第二个线程用?
      

  3.   

    那可以用信号量会锁实现啊ReentrantLock LockA=new ReentrantLock();
    ReentrantLock LockB=new ReentrantLock();
    LockA.lock();//初始值A线程被阻塞 先执行B线程  A线程                 B线程
     
    LockA.lock            LockB.lock 
      代码....            代码...LockB.unlock          LockA.unlock (A线程获得锁 A开始执行,A执行完后才帮B解锁)