Android/Android(Java)
[Android(Java)] 예제: Android에서 Thread(쓰레드) 생성하고 호출해보기
2022. 9. 22. 23:17반응형
안드로이드에서 Thread(쓰레드)를 생성하고 시작해보자. 아주 기본적인 예제이다.
시간없으면, [설명]을 건너뛰고 [소스코드], [출력화면] 부터 봐도 된다.
설명
이렇게 아래처럼, Thread 클래스를 상속받는 MyThread (예시)를 정의하자.
일부로 3초 기다리고, 유저가 원하는 걸 할 수 있게끔 코드를 작성하였다.
private MyThread mMyThread;
private class MyThread extends Thread {
private static final String TAG = "MyThread";
public MyThread() {
// 여기선 Thread에서 사용할, member 변수들을 초기화 해주는게 좋다.
Log.d(TAG, "Thread init");
}
public void run() {
try {
Log.d(TAG, "Thread run");
Thread.sleep(3000);
Log.d(TAG, "Do something");
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
적절한 위치에서, 해당 thread를 생성하고, start해주면,
그 스레드가 실행된다.
// 적절한 위치에서, Thread를 생성 후, start를 해주면 된다.
mMyThread = new MyThread();
mMyThread.start();
소스코드
package com.example.myapplication;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
public class MainActivity extends AppCompatActivity {
private static final String TAG = "i5i501";
private MyThread mMyThread;
private class MyThread extends Thread {
public MyThread() {
// 여기선 Thread에서 사용할, member 변수들을 초기화 해주는게 좋다.
Log.d(TAG, "Thread init");
}
public void run() {
try {
Log.d(TAG, "Thread run");
Thread.sleep(3000);
Log.d(TAG, "Do something");
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.d(TAG, "Hello world");
// 적절한 위치에서, Thread를 생성 후, start를 해주면 된다.
mMyThread = new MyThread();
mMyThread.start();
}
}
출력화면/로그
내가 정의한 스레드 (MyThread)가 실행하는 모습을 볼 수 있다.
3초 이후에 "Do something"이 출력되는 걸 확인했다.
2022-09-22 23:25:14.575 2520-2520/com.example.myapplication D/i5i501: Hello world
2022-09-22 23:25:14.576 2520-2520/com.example.myapplication D/i5i501: Thread init
2022-09-22 23:25:14.580 2520-2577/com.example.myapplication D/i5i501: Thread run
2022-09-22 23:25:17.580 2520-2577/com.example.myapplication D/i5i501: Do something
시간 절약했으면 아래의 좋아요 부탁드립니다.
반응형
'Android > Android(Java)' 카테고리의 다른 글
[Android(Java)] Android java로 로그로 Hello world 출력하기. (0) | 2022.09.22 |
---|