creating a piped communications system between two threads. : synchronized « Thread « Java Tutorial






import java.io.IOException;
import java.io.PipedReader;
import java.io.PipedWriter;

public class MainClass extends Thread {
  public static void main(String[] args) throws IOException {
    PipedWriter pw = new PipedWriter();
    PipedReader pr = new PipedReader(pw);
    int ch;
    try {
      for (int i = 0; i < 15; i++)
        pw.write(" A" + i + '\n');
      while ((ch = pr.read()) != -1)
        System.out.print((char) ch);
    } catch (IOException e) {
    }
  }
}








10.11.synchronized
10.11.1.Test Synchronized method
10.11.2.Test Unsynchronized method
10.11.3.This program is not synchronized.
10.11.4.This program uses a synchronized block.
10.11.5.Flag Communication
10.11.6.Waiting on an object
10.11.7.wait() and notify() must only be issued inside a synchronized block
10.11.8.guarantee that threads are woken in the same order in which they waited
10.11.9.creating a piped communications system between two threads.
10.11.10.Handle concurrent read/write: use synchronized to lock the data
10.11.11.A synchronized collection with Collections.synchronizedCollection
10.11.12.Determining If the Current Thread Is Holding a Synchronized Lock