안녕하세요. <div><br></div> <div>자바 스레드 관련해서 질문드릴게 있습니다.</div> <div><br></div> <div><div style="margin:0px;padding:0px;color:#404040;font-size:13px;">먼저 현재 상황은 아래와 같습니다.</div> <div style="margin:0px;padding:0px;color:#404040;font-size:13px;">==========================================================</div> <div style="margin:0px;padding:0px;color:#404040;font-size:13px;">A 클래스에 두개의 생성자가 있습니다. </div> <div style="margin:0px;padding:0px;color:#404040;font-size:13px;">편의상 a1, a2 라고 부르겠습니다.</div> <div style="margin:0px;padding:0px;color:#404040;font-size:13px;"><br style="margin:0px;padding:0px;"></div> <div style="margin:0px;padding:0px;color:#404040;font-size:13px;">a1 생성자는 B클래스에서 호출합니다.</div> <div style="margin:0px;padding:0px;color:#404040;font-size:13px;">a2 생성자는 C클래스에서 호출합니다.</div> <div style="margin:0px;padding:0px;color:#404040;font-size:13px;"><br style="margin:0px;padding:0px;"></div> <div style="margin:0px;padding:0px;color:#404040;font-size:13px;">먼저 B클래스에서 a1 생성자를 호출합니다. </div> <div style="margin:0px;padding:0px;color:#404040;font-size:13px;">아직 a2 생성자는 호출되지 않았습니다.</div> <div style="margin:0px;padding:0px;color:#404040;font-size:13px;"><br style="margin:0px;padding:0px;"></div> <div style="margin:0px;padding:0px;color:#404040;font-size:13px;">그리고 다음과 같이 B클래스에서 스레드를 실행합니다.</div> <div style="margin:0px;padding:0px;color:#404040;font-size:13px;"><br style="margin:0px;padding:0px;"></div> <div style="margin:0px;padding:0px;color:#404040;font-size:13px;">Runnable run1 = new A(a1);</div> <div style="margin:0px;padding:0px;color:#404040;font-size:13px;">Thread piRun1 = new Thread(run);</div> <div style="margin:0px;padding:0px;color:#404040;font-size:13px;">piRun1.start();</div> <div style="margin:0px;padding:0px;color:#404040;font-size:13px;"><br style="margin:0px;padding:0px;"></div> <div style="margin:0px;padding:0px;color:#404040;font-size:13px;">그리고 특정 조건이 되면 중지시킵니다</div> <div style="margin:0px;padding:0px;color:#404040;font-size:13px;">piRun.interrupt();</div> <div style="margin:0px;padding:0px;color:#404040;font-size:13px;"><br style="margin:0px;padding:0px;"></div> <div style="margin:0px;padding:0px;color:#404040;font-size:13px;">B클래스의 스레드가 중지가 되면 </div> <div style="margin:0px;padding:0px;color:#404040;font-size:13px;">C클래스에서 a2 생성자가 생성됩니다.</div> <div style="margin:0px;padding:0px;color:#404040;font-size:13px;"><br style="margin:0px;padding:0px;"></div> <div style="margin:0px;padding:0px;color:#404040;font-size:13px;">그리고 마찬가지로 C클래스에서 스레드를 실행합니다</div> <div style="margin:0px;padding:0px;color:#404040;font-size:13px;"> <div style="margin:0px;padding:0px;">Runnable run2 = new A(a2);</div> <div style="margin:0px;padding:0px;">Thread piRun2 = new Thread(run);</div> <div style="margin:0px;padding:0px;">piRun2.start();</div></div> <div style="margin:0px;padding:0px;color:#404040;font-size:13px;"><br style="margin:0px;padding:0px;"></div> <div style="margin:0px;padding:0px;color:#404040;font-size:13px;">이 경우에 B클래스에서 호출한 생성자 a1은 그대로 남아있는 것인가요?</div> <div style="margin:0px;padding:0px;color:#404040;font-size:13px;"><br style="margin:0px;padding:0px;"></div> <div style="margin:0px;padding:0px;color:#404040;font-size:13px;">아니면 스레드와 함께 자동으로 사라지는 것인가요?</div> <div style="margin:0px;padding:0px;color:#404040;font-size:13px;"><br style="margin:0px;padding:0px;"></div> <div style="margin:0px;padding:0px;color:#404040;font-size:13px;">아니면 따로 소멸자를 호출해서 없애줘야 하는 것인가요?</div> <div style="margin:0px;padding:0px;color:#404040;font-size:13px;"><br style="margin:0px;padding:0px;"></div> <div style="margin:0px;padding:0px;color:#404040;font-size:13px;">지금 코딩하는게 두개의 생성자가 동시에 존재하지 않게끔 만들어줘야하는 상황입니다.</div></div> <div style="margin:0px;padding:0px;color:#404040;font-size:13px;"><br></div> <div style="margin:0px;padding:0px;color:#404040;font-size:13px;">현재 DataOutputStream NullPointerException 오류가 나오고 있는데</div> <div style="margin:0px;padding:0px;color:#404040;font-size:13px;"><br></div> <div style="margin:0px;padding:0px;color:#404040;font-size:13px;">a1 생성자엔 output이 없고</div> <div style="margin:0px;padding:0px;color:#404040;font-size:13px;"><br></div> <div style="margin:0px;padding:0px;color:#404040;font-size:13px;">a2 생성자엔 output 스트림이 있습니다.</div> <div style="margin:0px;padding:0px;color:#404040;font-size:13px;"><br></div> <div style="margin:0px;padding:0px;color:#404040;font-size:13px;">여기서 오류가 난 것 같아 질문드려봅니다.</div> <div style="margin:0px;padding:0px;color:#404040;font-size:13px;"><br></div> <div style="margin:0px;padding:0px;color:#404040;font-size:13px;"><br></div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.