Thread간의 통신?????
꽃내
2023.04.01
VC++의 경우에는 사용자 메세지를 이용한 통신이 가능하여 문제가 별루 없엇는데요.
Java로 오니 Thread와의 통신을 어찌해야할지를 모르겟군요.
Listener / Adapter를 이용하면 가능할거 같기도 한데
사용자정의로 코딩할 방법이 없을까요?
아니면 다른 통신할 방법을 알고 싶습니다.
예) DB에서 Data의 갯수를 가져오는 Thread를 만들엇다고 가정!
-위의 수행할 Thread를 Process에서든 Thread에서든 Thread객체를 생성해서start()
-위의 수행할 Thread의 run() 수행
-run()이 수행완료된 시점에서 호출한 곳에결과값을 전달
-
소유
Thread.join 으로 해결되는 문제인지 잘 모르겠네요.
-
새솔
db에서 데이터를 가져오는 thread1이 작업을 끝낸 후 결과값을 전달받을 thread2에 인터럽트를 통보해서 thread2가 wait 상태에서 깨어나도록 하는 방법을 쓰시면 좋을듯.. 물론 thread2는 결과값을 전달받지 못해서 wait 상태로 미리 들어가 있어야겠죠.
-
바나나맛캔디
Stream을 쓰게 되면 양쪽이 통신을 하기 위해선 Wait 상태가 되어야 하는게 아닌가요?
그럼 다른 Thread를 생성해서 Wait를 또 해야한다는 구조적으로 문제가 될거 같은데욤 ㅠ -
일본녀
PipedInputStream/PipedOutputStream에 대해서 알아보세요.