본문 바로가기

쓰레드

특정 쓰레드에서 작업을 수행하고 싶을 때? 안드로이드 프로그래밍을 하다보면 UI 변경은 UI쓰레드에서 작업을 해야만 합니다. 그렇게 하지 않으면 Exception이 발생하게 되죠. 실제로 프로그래밍을 하다보면 서버와의 통신같이 IO가 오래 걸리는 작업은 새로운 쓰레드를 생성해서 작업을 하게 됩니다. 그런데 이 작업 도중에 UI를 변경해야하는 경우도 있죠. 그럴 때 UI를 변경하는 작업만은 UI쓰레드에서 동작하도록 해줘야하죠. 이렇게 UI쓰레드에서 특정 작업을 수행하려면 Activity의 runOnUiThread()메서드를 사용하면 되는데요. activity.runOnUiThread(new Runnable() { @Override public void run() { // work } }); 그런데 이런 메서드를 사용하면서 의문점이 하나 생겼죠. r.. 더보기
자바에서 쓰레드를 사용하는 방법 자바를 이용해서 프로젝트를 진행하면 사용하는 클래스에 대해서는 거의 모르는 게 없게 된다. 하지만 프로젝트를 할 때에는 잘하다가도 손 놓으면 잊어버리게 되는 것 중 하나가 바로 쓰레드를 사용하는 것이다. 그래서 오늘은 쓰레드를 사용하는 방법에 대해 정리해 보자. 먼저 쓰레드를 사용하기 위해서는 Runnable 인터페이스와 Thread 클래스가 필요하다. Thread 클래스는 새로운 작업을 맡게되는 일꾼이라고 생각하면 되고, Runnable 인터페이스를 구현하는 객체가 실질적인 일이 되겠다. 또 Runnable 인터페이스를 구현하는 클래스는 run()함수에 쓰레드에서 작업할 일을 넣으면 된다. 그렇다면 간단한 예제를 살펴보도록 하자. public class Job implements Runnable { p.. 더보기