DAY 10 : 스레드(Thead)
2022. 10. 21. 11:44
국비/JAVA
- 프로세스 (Process) 운영체제에서 실행 중인 하나의 애플리케이션을 의미. 애플리케이션을 실행하면 운영체제로부터 실행에 필요한 메모리를 할당받아 애플리케이션의 코드를 실행한다. - 스레드 하나의 코드 실행 흐름이기 때문에 한 프로세스 내에 스레드가 2개라면 2개의 코드 실행 흐름이 생긴다는 의미이다. 하나의 프로세스 내부에서 독립적으로 실행되는 작업 단위이다. 운영체제에 의해 관리되는 하나의 작업 혹은 task를 의미한다. 다중 스레드 작업시에는 각 스레드끼리 정보를 주고받을 수 있어 처리 과정의 오류를 줄일 수 있다. ✔ 멀티 태스킹 (multi tasking) 두 가지 이상의 작업을 동시에 처리하는 것을 의미한다. 운영체제는 멀티 태스킹이 가능하도록 CPU와 메모리 자원을 프로세스마다 적절히 ..
DAY 14 : 쓰레드, 동기화, 파일 입출력
2022. 3. 13. 22:36
WEB/JAVA
- 프로세스 실행된 프로그램 운영체제로부터 시스템 자원을 할당받는 작업의 단위를 의미한다. 자바 프로그램은 운영체제 대신 JVM에 의해 자원을 할당받는다. - 쓰레드 (Thread, 단일 쓰레드) 프로세스의 특정한 수행 경로 프로그램의 처리 경로 프로그램의 흐름 직렬적이다. - 멀티쓰레드 하나의 프로세스를 동시에 처리하는 것처럼 보이지만 사실은 매우 짧은 단위로 분할해서 차례대로 처리한다. 짧은 단위로 분할해서 차례대로 처리한다. 병렬적이다. 여러 개의 처리 경로를 가질 수 있게 한다. 한 개의 처리 경로를 여러 개로 나누어 동시 작업이 가능해진다. JSP (Java Server Page)가 대표적인 멀티 스레드 응용 프로그램이다. - 쓰레드의 장단점 장점 단점 효율성 증가 처리량 증가 처리비용 감소 복..