⭐️ 2023.11.14 (화)

이준영·2023년 11월 14일

⭕️ TIL (Today I Learned)

목록 보기
80/100
post-thumbnail

⭕️ Today I Learned


매일 할 일 ✅ ❌

✅ 1일 1커밋
❌ 1일 1알고리즘 문제 풀이
✅ 1일 2기술면접 개념 정리

✏️ 오늘 한 공부

알고리즘 문제풀이

백준


기술 면접 대비 개념 공부

[ 기술 면접 대비 개념 정리 통합본 ]

  1. 프로세스와 쓰레드에 대해서 설명하고 그 차이에 대해서 설명해주세요.

프로세스는 실행중인 프로그램이라고 할 수 있습니다. 그리고 쓰레드는 프로세스 내에서 실행되면서 자원을 공유하는 작은 실행 단위입니다.
예를 들어 라면을 끓이는 프로세스가 돌아가고 있다고 가정하면, 그 내부에서는 물을 받아오는 쓰레드, 라면을 가져오는 쓰레드, 불을 켜는 쓰레드 등 여러개의 쓰레드가 존재할 수 있습니다.

요약하자면, 프로세스는 독립적이고 자체적인 실행 환경을 가지며, 스레드는 같은 프로세스 내에서 실행되면서 자원을 공유하는 작은 실행 단위입니다.

  1. 멀티프로세스와 멀티쓰레드의 특징에 대해 설명해주세요.

멀티 프로세스는 각 프로세스들이 독립된 메모리 공간을 가지고 실행되기에 하나의 프로세스에 장애가 발생하더라도 다른 프로세스들에 영향을 미치지 않아 안정적입니다. 또한 프로세스간 통신은 쓰레드간의 통신과 다르게 비용이 많이들고 복잡합니다. 그리고 프로세스는 생성과 소멸하는데 쓰레드보다 상대적으로 많은 시간과 자원이 소요됩니다.

멀티쓰레드는 각 쓰레드들이 하나의 프로세스 안에서 메모리를 공유하며 실행되기 때문에 하나의 쓰레드가 장애가 발생하면, 프로세스 전체가 영향을 받을 수 있습니다. 쓰레드는 프로세스의 자원을 공유하기 때문에 쓰레드들간의 통신이 비교적 간단하지만 동기화 문제 등을 고려해야 합니다. 쓰레드는 생성과 소멸이 프로세스보다 시간과 자원이 적게 듭니다.


실전 프로젝트

  • 프로젝트에 적용했던 기술들 다시한번 정리하기..

⭐️ 하루 생각 정리 ⭐️

profile
작은 걸음이라도 꾸준히

0개의 댓글