JAVA语言提供了独立于平台的线程机制,保持了”write once, run anywhere”的特色。同时也提供了对同步机制的良好支持。
在JAVA中,一共有四种方法支持同步,其中三个是同步方法,一个是管道方法。
1. 方法wait()/notify()
import java.util.LinkedList;
public class Sycn1{
private LinkedList
2. 方法await()/signal()
在JDK5.0以后,JAVA提供了新的更加健壮的线程处理机制,包括 了同步、锁定、线程池等等,它们可以实现更小粒度上的控制。await()和signal()就是其中用来做同步的两种方法,它们的功能基本上和 wait()/notify()相同,完全可以取代它们,但是它们和新引入的锁定机制Lock直接挂钩,具有更大的灵活性。
import java.util.LinkedList;
import java.util.concurrent.locks.*;
public class Sycn2{
private LinkedList myList = new LinkedList();
private int