<멀티 스레드>
1. 프로세스
- 실행중인 하나의 프로그램
- 하나의 프로그램이 여러 프로세스로 만들어짐
- 여러 개의 프로세스가 올라와 있는 것을 멀티프로세스라고 함.
- 멀티프로세싱 : 사람이 보기에 프로그램 여러개가 동시에 돌아가고 있는 것 처럼 보이는 것.
==> 이런 작업을 여러번 돌릴 때, 어느 것을 실행시킬 것인지 결정시키는 것을 CPU Scheduling 이라고 함.
====> 이러한 모듈 프로그램을 Scheduler라고 함.
- 코어가 2개면 병렬처리가 된 것이다.
- 즉, 멀티프로세싱은 여러 프로그램을 조금씩 배분하여 조금씩 실행시키는 것이다.
- 예시 : TravelApp
* CPU (OS) : read()
* IO
* CPU (OS)
* IO
- 동기식(Synchrous) : (시간을) 박자를 맞추다
- 실행의 단위 : 스레드
- 지금까지 우리는 스레드를 한개만 사용해왔다.
2. 멀티 태스킹
- 두 가지 이상의 작업을 동시에 처리하는 것
- 멀티 프로세스
* 독립적으로 프로그램들을 실행하고 여러가지 잔업 처리
- 멀티 스레드
* 한 개의 프로그램을 실행하고 내부적으로 여러 가지 작업 처리
3. 메인(main) 스레드
- 모든 자바 프로그램은 메인 스레드가 main() 메소드 실행하며 시작
- main() 메소드의 첫 코드부터 알로 순차적으로 실행
- 메인스레드의 역할 : 메인메서드를 실행하는것
- 실행 종료 조건
* 마지막 코드 실행
* return 문을 만나면
- main 스레드는 작업 스레드들을 만들어 병렬로 코들르 실행
* 멀티 스레드 생성해 멀티 태스킹 수행
- 프로세스의 종료
* 싱글 스레드: 메인 스레드가 종료하면 프로세스도 종료
* 멀티 스레드: 실행중인 스레드가 하나라도 있다면, 프로세스 미종료
4. 멀티 스레드로 실행하는 어플리케이션 개발
- 몇 개의 작업을 병렬로 실행할지 결정하는 것이 선행되어야 함.
5. 작업 스레스 생성 방법
- Thread 클래스로부터 직접 생성
* Runnable을 매개값으로 갖는 생성자 호출
Thread thread = new Thread(Runnable target);
* 익명 클래스 정의를 통한 스레드 생성
* thread.start();
- Thread 하위 클래스로부터 생성
* Thread 클래스 상속 후 run 메소드 재정의 해 스레드가 실행할 코드 작성
public class WorkerThread extends Thread {
@Override
public void run() {
}
}
<네트워킹>
핵심
1. 용어 이해
2. 동작 방식 이해
1. TCP/IP 프로토콜에 대하여
- 인터넷에서 사용되는 프로토콜(protocol, 통신규칙)
- TCP 프로토콜과 IP 프로토콜(네트웍에 연결된 각각의 컴퓨터에 IP주소(IP address)를 붙여서 관리하는 규칙)을 함께 부르는 이름
- 절차, 각 절차마다 보내는 내용의 규격 이 정해져있다.
'멀티캠퍼스 > Spring' 카테고리의 다른 글
20230830 (수) (0) | 2023.08.30 |
---|---|
20230829 (화) (0) | 2023.08.29 |
20230817 (목) (0) | 2023.08.17 |
20230816 (수) (0) | 2023.08.16 |
20230811 (금) (0) | 2023.08.12 |