Kotlin
Kotlin이란(16)
yswn1531
2023. 9. 6. 21:49
- Process & Thread
- Multi-Tasking(Process)
- 한 CPU에서 여러 개의 Multi-Tasking(Process)이 실행 될 수 있음
- Process는 Thread와 달리 독립적인 자신만의 메모리 공간을 가지고 있음
- Kotlin은 main()함수로 시작하는 main Thread
- 안드로이드는 UI는 Main-Thread에서 처리, 그외는 Background Thread로 처리
- Thread
- 한 개의 Process 내에서 동시에 실행되는 작업의 단위를 나타냄
- Thread는 Process의 자원을 공유 하지만 독립적으로 실행 될 수 있음
- Thread 내에서 생성된 자원은 해당 Thread에 종속적 임
- 장점
- 실행속도
- 빠른 반응시간
- 동시성을 갖는 프로그램을 쉽게 작성
- Multi-Thread
- 한 개의 Process 내에서 동시에 2개 이상의 Thread가 실행되는 상태를 나타냄
- 동시성 문제가 발생 할 수 있음
- 앱이 실행되면 Process가 생기고 Process는 VM(ART)를 실행
- Process 관리
- 현재의 실행 환경을 나타내는 Runtime 객체
- Runtime Runtime.getRuntime()
- 프로세스 생성
- Runtime 객체의 exec(..)
- 프로세스가 종료될 때 까지 기다림
- int waitFor()
- 생성된 프로세스 종료 시키기
- destory()
- 현재의 실행 환경을 나타내는 Runtime 객체
- Thread 클래스
- 하나의 쓰레드를 생성 및 관리
- 함수
- start(): 해당 Thread 객체를 실행시키는 메소드
- run(): start()시 Thread 객체의 run 메소드가 시작된다
- Thread를 만드는 방법
- Thread Class를 상속하여 run()를 재정의
- Runnable 구현하여 Thread 생성자의 인자로 생성
- 리턴 타입이 존재하면 Callable
- 코틀린의 thread() 함수 사용
- Thread Pool 사용
- Multi-Tasking(Process)