view src/treecms/test/SynchronizedTest1.java @ 24:68021f7091e1

commit
author shoshi
date Sun, 12 Jun 2011 20:41:20 +0900
parents
children
line wrap: on
line source

package treecms.test;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class SynchronizedTest1
{
	public static void main(String _args[]) throws InterruptedException, IOException
	{
		Object lock = new Object();
		
		new MyThread(lock).start();
		new MyThread(lock).start();
		new MyThread(lock).start();
		new MyThread(lock).start();
		new MyThread(lock).start();
		new MyThread(lock).start();
		
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		br.readLine();
		
		synchronized(lock){
			lock.notifyAll();
		}
		
		Thread.sleep(100);
	}
	
	private static class MyThread extends Thread
	{
		private final Object m_lock;
		
		public MyThread(Object _lock)
		{
			m_lock = _lock;
		}
		
		public void run()
		{
			synchronized(m_lock){
				try{
					m_lock.wait();
					System.out.println("done wating..");
				}catch(InterruptedException _e){
					_e.printStackTrace();
				}
			}
		}
	}
}