본문 바로가기
멀티캠퍼스/Spring

230828 (월)

by 세크레투스 2023. 8. 29.
반응형
SMALL

<멀티 스레드>

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)를 붙여서 관리하는 규칙)을 함께 부르는 이름

- 절차, 각 절차마다 보내는 내용의 규격 이 정해져있다.

 

반응형
LIST

'멀티캠퍼스 > 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