JAVA
37. Thread
NamGH
2023. 8. 29. 09:47
Process 작업 단계를 의미
프로그램에서 독립적으로 실행되는 메서드이
한 순간에 두개의 메서드가 동시에 실행되었을때 실행된 메서드들을 스레드라고 한다
동시에 2개의 메서드가 작동하면 두개의 스레드가 작동하는것을 멀티 스레드라 한다
멀티 스레드의 장점
- CPU의 사용률을 상향시킨다
- 자원을 보다 효율적으로 사용될수 있다
- 사용자에 대한 응답성이 향상된다
- 작업이 분리되어 코드가 간결해진다
싱글스레드
- 한작업을 마친뒤에 작업을 시작한다
- CPU만을 사용하는 계산작업일떄 효율적이다
멀티스레드
- 짧은 시간동안 2개의 스레드가 번갈아 가면서 작업을 수행하기 때문에 두 작업이 처리되는 것과 같은 효과를 가진다
- CPU이외에 자원을 사용하는 작업의 경우에 효율적이다
- 하나의 프로그램에 동시에 여러작업을 수행할수 있다
- 스레드간의 데이터 공유가 가능하므로 시스템을 효율적으로 사용이 가능하다
- 인터넷 프로그램과 같이 여러 개의 태스크가 동시에 발생하는 여러 작업을 처리하는데 유용하다
스레드의 상태
1. 시작 상태(start)
2. 동작할수 있는 상태(Runnable)
3. 동작 상태(Run)
4. 대기 상태(NotRunnable)
5. 종료 상태 (Dead)
데몬 스레드
- 다른 스레드의 작업을 돕는 보조적인 역할을 수행하는 스레드
- 일반 스레드가 모두 종료되면 데몬 스레드는 강제로 종료된다
- 특정조건을 만족하면 작업이 수행되고 다시 대기하도록 작성한다
- 데몬 스레드가 생성한 스레드는 자동으로 데몬 스레드가 된다