Day4

이한주·2023년 2월 24일
0

Parameter와 Argument의 차이에 대해 설명해주세요.

=> Parameter는 메소드를 정의할 때 사용되는 변수를 의미한다.

=> Argument는 실제로 메소드를 호출할 때, 넘기는 변수값을 의미한다.

프로세스와 스레드의 차이에 대해 설명해 주세요

=> 프로세스는 메모리 상에서 실행중인 프로그램을 말하며, 스레드는 이 프로세스 안에서 실행되는 흐름 단위를 말한다.
프로세스는 최소 하나의 스레드를 보유하고 있으며, 각각 별도의 주소공간을 독립적으로 할당 받는다.(code, heap, stack)

=> 스레드는 이중에 stack만 따로 할당받고 나머지 영역은 스레드끼리 서로 공유한다.

멀티 프로세스

=> 프로그램을 여러 프로세스로 구성하여 각 프로세스가 하나의 작업을 처리하는 것이다.

  • 장점: 의 프로세스가 잘못 되어도 프로그램은 동작한다.
  • 단점: context switching 비용이 발생한다.

멀티 스레드

=> 프로그램을 여러개의 스레드로 구성하고 각 스레드가 작업을 처리하는 것

  • 장점: 시스템 자원 소모 감소, 처리 비용 감소, 스레드간 자원 공유
  • 단점: 디버깅 어려움, 하나의 스레드 오류로 전체 프로세스에 문제 발생

Thread safe

thread safe란 여러 thread가 동시에 사용되어도 안전하다는 것을 말한다.
특정 함수 A와 변수 AA가 여러 스레드에서 호출되어도 하나의 스레드에서 호출했을 때와 같은 결과가 보장되어야 한다는 의미다.

Context Switching

CPU에서 여러 프로세스를 돌아가면서 작업을 처리하는데 이 과정을 Context Switching이라고 한다.
동작중인 프로세스가 대기를 하면서 해당 프로세스의 상태를 보관하고 대기하다가 다시 실행시 복구하는 비용을 말한다.

0개의 댓글