멀티스레드 2

[Java] 싱글스레드 / 멀티스레드 / 스레드의 IO 블록킹 /스레드 우선순위 / 스레드 그룹 / 데몬 스레드

학습목표 싱글스레드 멀티스레드 스레드의 IO 블록킹 스레드 우선순위 스레드 그룹 데몬 스레드 싱글스레드 예를 들어 main() 메소드가 동작하고 그곳에서 main 스레드가 한줄씩 동작한다. 실행 중인 스레드가 하나도 없을때 프로그램은 종료된다. main 스레드는 다른 스레드가 작업 종료와 관계없이 실행중인 것이 없으면 종료된다. join()을 활용해 다른 메서드가 종료될 때 까지 기다렸다가 작업을 진행할 수 있는 메소드가 있다. 멀티스레드 멀티스레드는 싱글스레드와 다르게 컨텍스트 스위칭 비용이 생겨난다. 그러나 싱글스레드보다 멀티스레드가 좋은 이유는 다음과 같다. 동시에 여러 작업을 할 수 있다. 작업을 좀 더 효율적으로 할 수 있다. -> 스레드의 IO 블락킹 스레드의 IO 블록킹 싱글스레드의 동작시에..

Backend/Java 2022.02.14

[Java] 멀티스레드 와 멀티 프로세스

학습목표 자바 스레드란? 스레드와 프로세스의 차이 멀티 프로세스와 멀티 스레드의 차이 컴퓨터 유저는 동시에 한개 이상의 시스템을 쓸 수 있는 것을 당연히 받아들인다. 하나의 어플리케이션일지라도 하나 이상의 작업을 동시에 진행한다. 동시에 오디오를 들으며 playback그리고 화면이 업데이트되는 등 여러작업이 동시에 진행된다. 이런 것을 concurrent software라고 한다. Java플랫폼은 concurrent programming을 적용되어 있다. Java 5.0이후 high-level concurrency API들을 제공한다. (java.util.concurrent) # 자바 스레드(Java Thread) 란? 일반 스레드와 거의 차이가 없으며, JVM가 운영체제의 역할을 한다. 자바에는 프로세..

Backend/Java 2021.03.03