2022-05-25 데일리 회고 20일차

Sung-min Seo·2022년 5월 25일
0

🥕 Thread

Thread는 실 같이 늘어진 코드의 흐름이다. 프로그램이 실행되면 프로세스가 시작되는데 하나의 프로세스가 작동 된다면 싱글 Thread, 여러 프로세스가 작동 된다면 Multi-Thread 가 된다.

Main Thread

main() 메서드가 실행되면 시작되는 Thread이다. 하나의 프로세스만 작동 되고 있다면 Main-Thread가 실행되고 있다는 뜻이기 때문에 프로세스가 종료되면 프로그램도 종료된다.
하지만 Multi-Thread의 경우 Main-Thread가 종료되지 않는다면 백그라운드에서 프로그램은 종료되지 않고 계속해서 실행될수 있다.

⭐Thread Class 종류

    1. public void run(): Thread의 기능들을 실행시킨다.
    2. public void start(): Thread를 시작한다. 이떄 JVM에서 run() 메서드를 불러온다.
    3. public void sleep(long miliseconds): 잠시동안 Thread를 주어진 시간동안 멈춘다.
    4. public void join(): Thread가 끝날때까지 기다린다.
    5. public int getPriority(): Thread 우선순위를 반환 한다.
    6. public int setPriority(int priority): Thread의 우선순의를 정한다.
    7. public String getName(): Thread의 이름을 반환 해준다.
    8. public void setName(String name): Thread의 이름을 바꿔준다.
    9. public Thread.State getState(): 현재 Thread의 상태를 반환 해준다.
    10. public void yield(): 현재 진행중인 Thread를 잠시 멈추고 다른 Thread를 실행한다.

Thread Pool

Thread Pool은 동시 작업이 많아질 때 사용한다. 동시 작업이 많아진다는 뜻은 Thread의 수가 커진다는 것을 의미하고 그만큼 메모리 사용량도 늘어나게 된다. Pool은 동시에 작업할수 있는 Thread의 갯수를 정해놓고 나머지는 대기상태로 놓는다.

Java Threads - GeeksforGeeks

Java Threads | How to create a thread in Java

Java Threads - w3schools

Java Thread Pool

⭐ 오늘의 소감

스레드 파트를 다시 공부했다. 처음 봤을때는 왜 사용 하나 이해가 가지 않았지만, 거듭 볼수록 어느정도 이해가 간다. 마지막의 Thread Pool은 개념은 이해가 가지만, Pool 클래스를 사용 하는 방법이 너무 어려워 공부가 더 필요할 것 같다.

profile
매일 문제 3개 이상 풀기!!

0개의 댓글