<div> <div>public class Activity extends AppCompatActivity {</div> <div><span style="font-size:9pt;"><br></span></div> <div><span style="font-size:9pt;"> void onCreate()</span></div> <div> <div> button.setOnClickListener(new View.OnClickListener() {</div> <div> @Override</div> <div> public void onClick(View view) {</div> <div> Thread t = new Thread(MyRunnable);</div> <div> t.start();</div> <div><br></div> <div> try {</div> <div> <u>t.join();</u></div> <div> } catch (InterruptedException e) {</div> <div> e.printStackTrace();</div> <div> }</div> <div><b> ccc();</b></div> <div><span style="white-space:pre;"> </span>...</div> <div><span style="white-space:pre;"> </span>...</div> <div> }</div> <div> <span style="white-space:pre;"> </span> });</div></div> <div><span style="white-space:pre;"> </span>}</div> <div><br></div> <div> <div> private class MyRunnable implements Runnable{</div> <div> @Override</div> <div> public void run() {</div> <div><b> aaa();</b></div> <div> }</div> <div> }</div> <div><br></div> <div><span style="white-space:pre;"> </span>...</div> <div><br></div> <div><span style="white-space:pre;"> </span>void aaa(){</div> <div><b><span style="white-space:pre;"> </span>bbb();</b></div> <div><b><span style="white-space:pre;"> </span>...</b></div> <div><span style="white-space:pre;"> </span>}</div> <div><br></div> <div><span style="white-space:pre;"> </span>...</div></div> <div><span style="white-space:pre;"> </span></div></div> <div>}</div> <div><br></div> <div>구조는 대략 이렇습니다.</div> <div>버튼을 클릭하면 스레드 t에서 aaa()를 실행하고 내부의 bbb()와 aaa()까지 완전히 끝나고 나면 ccc()를 시작하게 하려고 합니다.</div> <div><br></div> <div>스레드에 익숙하지 않아서 여기저기서 <span style="font-size:9pt;">예시들</span><span style="font-size:9pt;"> 찾아봤는데요.. </span></div> <div><span style="font-size:9pt;">join을 사용하면 </span><span style="font-size:9pt;">그 스레드가 완전히 끝날 때까지 다음으로 넘어가지 않는다고 하여 join을 사용해보았습니다만</span></div> <div>Toast를 이용해서 확인해보니 스레드 t 내용이 끝나기도 전에 ccc()와 그 아래 내용들이 실행되더라구요.</div> <div><br></div> <div>제가 스레드를 어느 부분에서 잘못 사용하고 있는건가요?</div> <div><br></div> <div><span style="font-size:9pt;"><br></span></div> <div><br></div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.