문자열 로 자 물 쇠 를 만들다

약간 지루 하 다. 단지 측면 에서 'XXX' 문자열 이 intern 에 의 해 설 명 된 후에 같은 값 을 가 진 'XXX' 는 모두 더미 속 의 같은 대상 을 가리킨다.


public class CPByStringTest {

	public static class Consumer extends Thread {

		@Override
		public void run() {
			long start = System.currentTimeMillis();
			synchronized("lock"){
				System.out.println("consumer get lock (ms)" + (System.currentTimeMillis() - start));
				try {
					System.out.println("sleep Consumer for 10 s");
					sleep(10000);
					System.out.println("wake up Consumer");
				} catch (InterruptedException e) {
					e.printStackTrace();
				}
				"lock".notifyAll();
			}
		}

	}

	public static class Producer extends Thread {

		@Override
		public void run() {
			long start = System.currentTimeMillis();
			synchronized("lock"){
				System.out.println("Producer get lock (ms)" + (System.currentTimeMillis() - start));
				try {
					System.out.println("sleep producer for 10 s");
					sleep(10000);
					System.out.println("wake up producer");
				} catch (InterruptedException e) {
					e.printStackTrace();
				}
				"lock".notifyAll();
			}
		}

	}

	public static void main(String[] args) {
		new Consumer().start();
		new Producer().start();
	}

}

실행 결과 (debug mode):

consumer get lock (ms)47
sleep Consumer for 10 s
wake up Consumer
Producer get lock (ms)10047
sleep producer for 10 s
wake up producer

좋은 웹페이지 즐겨찾기