- 프로그램(program) : 어떤 파일이나 소스가 디스크에 있는 상태
ex) 메모장 실행파일 notepad.exe
- 프로세스(process) : 디스크에 있는 프로그램이 메모리에 올라와 있는 상태
ex) 메모장이 화면에 보일때
- 쓰레드(thread): 프로세스 위에서 동작하는 경량 프로세스(Lightweight Process), 기본은 1 process - 1 thread
1. single thread: 1 process - 1 thread (작업이 발생할 때마다 프로세스를 생성해야되서 시스템 과부화가 생김)
ex) 일하는 사원 1명 - 복사기 1대
2. multi thread: 1 process - 여러 thread (시스템 과부화를 줄여줌)
ex) 일하는 사원 1명 - 복사기 3대
thread -> TSS(Time Sharing System, 시분할)
시분할: 여러개의 단말기가 각각 처리되어 지고 있는것처럼 보이나 각자 주어진 시간만큼만 수행하고 넘어감, 이때 지금까지 한 작업을 저장해 놓는 곳이 문맥스위치(context switch)
- 쓰레드가 되게 하는 클래스 만드는 2가지 방법
1. java.lang.Thread 클래스 상속: 쓰레드 클래스 이외에 다른 상속을 받을 필요가 없는 경우 사용(자바에서는 다중 상속 불가)
2. java.lang.Runnable 인터페이스 상속: 쓰레드 클래스 이외에도 다른 클래스를 상속 받아야 하는 경우 사용, 이왕이면 Runnable 사용하는 것이 좋음
'[back-end] > 자바-소켓' 카테고리의 다른 글
소켓프로그래밍 - 멀티 유저 채팅 프로그램 (0) | 2021.01.02 |
---|---|
소켓프로그래밍 - 양방향 소켓 (0) | 2021.01.01 |
소켓프로그래밍 - 단방향 소켓 프로그램 (0) | 2021.01.01 |
소켓 프로그램 (0) | 2020.12.24 |
웹 프로그램 (0) | 2020.12.24 |