1. 프로그램(Program)이 실행되는 과정
- 프로그램은 하드디스크(PC) 또는 플래시메모리(폰)에 저장되어 있다
- PC의 경우 더블클릭하고, 폰의 경우 탭 하면 저장되어있는 프로그램이 메모리로 올라온다(로딩된다)
이것을 프로세스(Process)라고 하며, CPU가 메모리에 올라온 프로세스를 실행시킨다
2. 쓰레드(Thread) 란?
- 하나의 프로세스는 기본적으로 한개의 쓰레드를 가진다
- 쓰레드는 동시에 작업할 수 있는 일의 단위이다
예를들어, 웹 브라우저 에지 프로그램을 실행시키면 1개의 쓰레드가 생성되고,
이미지를 가져오는 작업, 유튜브 음악을 듣는 작업 등의 여러 작업은 해당되는 쓰레드가 생성되어 실행된다
3. 쓰레드 풀(Thread Pool) 이란?
- 네트워크로 이미지를 가져온다고 해보자. 이미지를 가져올 때 1개의 이미지를 1개의 쓰레드가 담당하여
가져오면, 여러개의 이미지는 여러개의 쓰레드가 필요하다
이때, 여러개의 쓰레드를 처음에 한번 만들어 놓고, 만든 여러 쓰레드를 재사용한다
이렇게 재사용 할 수 있는 쓰레드 여러개를 미리 만들어 놓고 사용하는 것을 쓰레드풀(Thread Pool)이라 한다
4. 발리(Android Volley)에서 쓰레드풀(Thread Pool)을 사용하는 그림(점선부분)
5. 캐시(Cache) 란?
- 앞에서 네트워크로 무조건 계속 요청하는 것은 자원 낭비다. 따라서 이미 요청했던 데이터는
메모리나 디스크에 저장을 해놓고, 같은 데이터를 요청할 때는 네트워크를 가지 않고
먼저 메모리나 디스크에 저장되어 있는지 확인하여 저장되어 있으면 그 데이터를 사용하고,
그렇지 않으면 네트워크로 데이터를 요청하여 사용한다
안드로이드 글라이드(Glide) 라이브러리에서 캐시를 사용하는 경우
'IT' 카테고리의 다른 글
자바의 클래스와 객체 Class/Object / Instance (0) | 2020.09.29 |
---|---|
Data Structure(JAVA Collections) Stack, Queue ... (0) | 2020.09.25 |
REST API (0) | 2020.09.25 |
안드로이드 프래그먼트 Android Fragment (0) | 2020.09.23 |
Firebase FireStore (0) | 2020.09.22 |