Computer >> 컴퓨터 >  >> 프로그래밍 >> Android

Android에서 현재 스레드가 데몬(Daemon)인지 확인하는 방법

개요

예제를 살펴보기 전에 스레드(Thread)가 무엇인지 먼저 이해할 필요가 있습니다. 스레드는 경량화된 하위 프로세스로, UI를 방해하지 않으면서 백그라운드 작업을 수행하는 역할을 합니다. 이번 예제에서는 Android에서 현재 실행 중인 스레드가 데몬 스레드인지 확인하는 방법을 알아보겠습니다.

데몬 스레드란?

데몬 스레드는 백그라운드에서 지원 작업을 수행하는 스레드로, 모든 사용자 스레드가 종료되면 JVM과 함께 자동으로 종료됩니다. 반대로 사용자 스레드는 명시적으로 종료될 때까지 계속 실행됩니다. Java의 Thread.currentThread().isDaemon() 메서드를 사용하면 현재 스레드가 데몬인지 여부를 boolean 값으로 확인할 수 있습니다.

구현 단계

1단계 - 새 프로젝트 생성

Android Studio에서 File ⇒ New Project를 선택하고, 프로젝트 생성에 필요한 모든 세부 정보를 입력하여 새 프로젝트를 만듭니다.

2단계 - 레이아웃 파일 수정

res/layout/activity_main.xml 파일에 다음 코드를 추가합니다.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:gravity="center_horizontal"
    android:layout_marginTop="100dp"
    tools:context=".MainActivity">
    <TextView
        android:id="@+id/text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
</LinearLayout>

위 코드에서는 TextView 하나를 배치했습니다. 이 TextView에는 현재 스레드가 데몬인지 여부에 대한 정보가 표시됩니다.

3단계 - MainActivity 코드 작성

src/MainActivity.java 파일에 다음 코드를 추가합니다.

package com.example.myapplication;

import android.annotation.SuppressLint;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
    TextView textView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        textView = findViewById(R.id.text);
        textView.setText("Current thread: " + Thread.currentThread().isDaemon());
    }
}

핵심 코드는 Thread.currentThread().isDaemon() 부분입니다. 이 메서드는 현재 실행 중인 스레드가 데몬 스레드이면 true, 그렇지 않으면 false를 반환합니다.

앱 실행 및 결과 확인

이제 애플리케이션을 실행해 보겠습니다. 실제 Android 모바일 기기가 컴퓨터에 연결되어 있다고 가정합니다. Android Studio에서 프로젝트의 액티비티 파일 중 하나를 연 뒤 툴바에서 Run 아이콘을 클릭하고, 옵션 목록에서 모바일 기기를 선택하세요. 그러면 기본 화면에 다음과 같은 결과가 표시됩니다.

Android에서 현재 스레드가 데몬(Daemon)인지 확인하는 방법

위 결과를 보면 현재 스레드가 데몬이 아님을 알 수 있습니다. 즉, Android의 메인(UI) 스레드는 기본적으로 사용자 스레드로 동작하며, 앱의 생명주기와 함께 관리된다는 것을 의미합니다.