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()
    • Thread 클래스
      • 하나의 쓰레드를 생성 및 관리
      • 함수
        • start(): 해당 Thread 객체를 실행시키는 메소드
        • run(): start()시 Thread 객체의 run 메소드가 시작된다
      • Thread를 만드는 방법
        • Thread Class를 상속하여 run()를 재정의
        • Runnable 구현하여 Thread 생성자의 인자로 생성
        • 리턴 타입이 존재하면 Callable
        • 코틀린의 thread() 함수 사용
        • Thread Pool 사용