package com.dkitec.test.axis.basic;
import java.util.Vector;
public class Writer {
public void fill(Vector queue){
for(int i = 0; i < 20; i++){
queue.add(new Integer(i));
synchronized (queue) {
queue.notifyAll();
}
}
}
public static void main(String[] args){
//Writer 와 Reader 간에 통신 채널이 된다.
Vector queue = new Vector();
Writer writer1 = new Writer();
// 두 Reader 를 시작한다.
Reader reader1 = new Reader(queue,"Reader 1 ");
reader1.start();
Reader reader2 = new Reader(queue,"Reader 2 ");
reader2.start();
// queue 를 채운다. 기다리던 reader는 깨어나서 큐를 비우기 시작할 것이다.
writer1.fill(queue);
}
}
package com.dkitec.test.axis.basic; import java.util.Vector; public class Reader extends Thread { public Reader(Vector queue,String name) { [출처] 자바 쓰레드 동기화 (syncronized 키워드 사용하기)|작성자 GENERAL
|
'JAVA > JAVA 스레드' 카테고리의 다른 글
[java] 쓰레드의 우선순위 (0) | 2017.11.01 |
---|---|
[java] 싱글쓰레드와 멀티쓰레드 (0) | 2017.11.01 |
[java] start()와 run() (0) | 2017.11.01 |
[java] 쓰레드 구현 및 실행 (0) | 2017.11.01 |
[java] 프로세스와 쓰레드 (0) | 2017.11.01 |
Executor,ExecutorService,ThreadPoolExecutor (0) | 2016.03.09 |
스레드풀(CompletionService)을 이용하여 작업실행하기 (0) | 2016.03.09 |
JAVA Thread 사용하기 (0) | 2016.03.09 |