마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

Thread에 인자를 전달해서 실행하고 싶습니다.

0 추천
간단한 거 라서 금방 찾을 줄 알았는데,

의외로 잘 모르겠더라구요.

혹시 아시는 분 한수 부탁드립니다.

코틀린이면 더 좋을 거 같습니다.

감사합니다.
예체능딸기아빠 (430 포인트) 님이 2023년 6월 27일 질문
자문 자답 합니다.

private fun testFun() {
    MyThread("world!").start()
}

internal class MyThread(private val to: String) : Thread() {
        override fun run() {
            println("hello $to")
        }
    }

1개의 답변

+1 추천

쓰레드가 동작하는 원리를 익히시고 나면 코틀린에서 지원하는 코루틴을 사용하시면 쓰레드를 직접 다루실 필요가 없습니다. 모발앱은 메인쓰레드와 백그라운드 쓰레드로 나뉘어서 사용이 되고 UI 업데이트는 오로지 메인 쓰레드에서만 수행이 가능합니다. 안그러면 앱이 크래시됩니다. 따라서 백그라운드 쓰레드에서 작업이  완료된 후 UI을 업데이트 하는 코드가 있다면 메인쓰레드로 전환하여 처리해 주어야 합니다. 그리고 쓰레드를 여러개 한거번에 생성해서 결과를 한군데서 합치거나 하는 작업을 하려면 상당잏 복잡해 집니다. 쓰레드가 익숙해지시면 코루틴으로 넘어가시면 도움이 되실 겁니다.

class MyRunnable(private val param: String) : Runnable {
    override fun run() {
        // 필요한 작업
    }
}


Thread(MyRunnable("blablabla")).start()

 

spark (227,830 포인트) 님이 2023년 6월 27일 답변
역시 제겐 선생님의 One Point 첨삭지도에서 코드가 완성되는 느낌입니다^^
언제나 명쾌하고 친절한 빨간펜 첨삭지도,
늘 감사드립니다...
...