Parameter와 Argument의 차이에 대해 설명해주세요.
프로세스와 스레드의 차이에 대해 설명해 주세요
int sum(int a, int b){
return a+b;
}
int a와 int b를 매개변수라고 한다.
result = sum(1,2)
1,2를 argument라고 한다
프로세스란 메모리 상에서 실행중인 프로그램을 말하며,
스레드는 실행중인 프로그램 안에서 독립적으로 실행되는 각각의 작업 단위를 말한다.

프로세스실행?
카카오를 샐행하는 것, 워드를 실행하는 것 등
스레드?
인텔리제이에서 테스트를 돌리면 스레드가 하나 만들어지고, 또 테스트를 돌리면서 코드를 수정하면 코드를 수정하는 스레드가 생겨나는 것
프로세스의 메모리구조(프로세스 하나당 하나씩 존재)

스레드는 프로세스 내에서 각각 Stack만 따로 할당받고 Code, Data, Heap영역은 공유한다.
각 프로세스는 독립적이다. 다른 프로세스와 작업을 공유하지 않는다. 하지만 스레드는 하나의 프로세스가 처리해야 하는 일을 메모리를 공유하면서 나눠서 할 수 있다. 만약 한 프로세스를 실행하다가 오류가 발생해서 프로세스가 강제로 종료 된다면, 공유하고 있는 파일을 손상 시키는 경우가 아니라면 아무런 영향을 주지 않는다. 하지만 스레드의 경우는 Code,Data,Heap 메모리영역의 내용을 공유하기때문에 어떤 스레드가 하나에서 오류가 발생한다면 같은 프로세스 내의 다른 스레드 모두가 강제로 종료된다!
참조
https://velog.io/@raejoonee/%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4%EC%99%80-%EC%8A%A4%EB%A0%88%EB%93%9C%EC%9D%98-%EC%B0%A8%EC%9D%B4
https://gmlwjd9405.github.io/2018/09/14/process-vs-thread.html
https://jungkeung.tistory.com/69