Notice
Recent Posts
Recent Comments
Link
투케이2K
81. (kotlin/코틀린) Thread 사용해 순차적 동기 (sync) 로직 처리 실시 본문
[개발 환경 설정]
개발 툴 : AndroidStudio
개발 언어 : Kotlin
[소스 코드]
// TODO [테스트 메소드 정의 실시]
fun testMain(){
Log.i("---","---")
Log.d("//===========//","================================================")
Log.i("","\n"+"[Test_Kotlin > testMain() 메소드 : 테스트 함수 동작 실시]")
Log.d("//===========//","================================================")
Log.i("---","---")
// [로직 처리 실시]
try{
// ------------------------------------
// [초기 변수 선언]
var count = 0
// [스레드 동작 지정 실시]
val sync = Thread(Runnable {
for(i in 1..3 step(1)) {
// [카운트 값 다시 설정]
count = i
// [1초간 sleep (대기) 설정]
Thread.sleep(1000L)
// [카운트 로그 출력]
Log.i("---","---")
Log.d("//===========//","================================================")
Log.i("","\n"+"[Test_Kotlin > testMain() 메소드 : 카운트 결과 확인 실시]")
Log.i("","\n"+"[count : "+ count +"]")
Log.d("//===========//","================================================")
Log.i("---","---")
}
})
sync.start() // [스레드 동작 수행]
sync.join() // [스레드 작업 완료까지 대기]
// [로그 출력 실시]
Log.i("---","---")
Log.w("//===========//","================================================")
Log.i("","\n"+"[Test_Kotlin > testMain() 메소드 : 로그 결과 확인 실시]")
Log.i("","\n"+"[count : "+ count +"]")
Log.w("//===========//","================================================")
Log.i("---","---")
// ------------------------------------
}
catch(e : Exception){
Log.i("---","---")
Log.e("//===========//","================================================")
Log.i("","\n"+"[Test_Kotlin > testMain() 메소드 : 에러 상황 발생]")
Log.i("","\n"+"[error : "+ e.message +"]")
Log.e("//===========//","================================================")
Log.i("---","---")
}
}
[결과 출력]
반응형
'Kotlin' 카테고리의 다른 글
Comments