[기술면접 스터디] Parameter와 Argument의 차이, 프로세스와 스레드의 차이

rara_kim·2023년 2월 24일
0

기술면접

목록 보기
4/9

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

매개변수(Parameter)란 함수의 정의에서 전달받은 인수를 함수 내부로 전달하기 위해 사용하는 변수를 의미하며, 인수(Argument)란 함수를 호출할 때 함수로 전달해주는 을 말한다.

public static void main(String[] args) {
	sayHello("Sora");   -> Sora: Argument
}

static void sayHello(String name) {   -> name: Parameter
	System.out.println(name + " Hello!");
}



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

프로세스는 운영체제로 부터 자원을 할당받은 작업의 단위를 말하며, 스레드는 프로세스로 부터 할당받은 자원을 이용하는 실행 흐름의 단위를 의미한다.

하나의 프로세스 안에서 스레드는 프로세스의 code/data/heap 공간을 공유하지만, 해당 스레드만의 stack을 가지고 동작한다.
그래서 하나의 프로세스 안에서 생성된 스레드 간에는 별도 기술을 쓰지 않고도 데이터 공유가 가능하다.

프로세스의 특징

  • 프로세스 생성에 큰 오버헤드가 있다.(생성시 많은 시간이 소요됨)
  • 프로세스 컨텍스트 스위칭의 비효율성, 오버헤드가 크다.
  • 프로세스 사이에 통신이 어렵다.(IPC 사용이 필요)

스레드의 출현 목적

  • 프로세스보다 크기가 작은 실행 단위 필요
  • 프로세스의 생성 및 소멸에 따른 오버헤드 감소
  • 빠른 컨텍스트 스위칭
  • 프로세스들의 통신 시간, 방법 어려움 해소

profile
느리더라도 꾸준하게

0개의 댓글