Java-如何实现线程同步?
1、使用synchronized 修饰方法,该方法将在线程调用时,被锁定,其他线程要等当前线程访问结束才能使用。
public class TestSynchonized { static StringBuffer s = new StringBuffer("Hello"); public static void main(String args[]){ MyThread t = new MyThread(); t.start(); MyThread.MoidfyString(s); System.out.println("main------"+s); } } class MyThread extends Thread{ public void run(){ MyThread.MoidfyString(TestSynchonized.s); } public synchronized static void MoidfyString(StringBuffer s){ //s = s+"World"; s.append("World"); System.out.println("thread-----"+s); } }
2、使用synchronized 修饰代码块,那么