패스트캠퍼스 한 번에 끝내는 파이썬 웹 개발 초격차 패키지 pt2 - 동시성과 병렬성

정영찬·2022년 2월 11일
0

프로그램

  • 작업을 수행하는 명령의 집합

프로세스

  • 실행중인 프로그램

스레드

  • 프로세스에서 실행되는 작업
  • 프로세스는 기본적으로 하나의 스레드로 구성
  • 경우에 따라 여러개의 스레드로 구성이 가능하다(= 멀티스레딩)

동시성?

  • 프로세스에선 하나의 스레드만 동작하게 되지만, 다른 스레드와 빠른속도로 번걸아 가면서 동작하면 두개의 스레드가 동시에 작업을 진행하는 것처럼 보이는데, 이것을 바로 동시성이라고 한다.

병렬성?

  • 하지만 만약에 프로세스가 하나가 아니라 여러개라면 각각의 프로세스가 가지고 있는 스레드를 독립적으로 진행 할 것이다. 이를 병렬성이라고 칭한다.

멀티 스레딩? 멀티 프로세싱?

  • 멀티스레딩의 경우 동시성 프로그래밍에 해당되며, 동시세 실행 "되는 것처럼 보이는 것"이다.

  • 여러개의 스레드를 번갈아 가면서 실행하는 것

  • 멀티 프로세싱은 말 그대로 여러개의 프로세스를 사용해서 각 프로세스가 진행하는 독립적인 프로세스를 실행하는것.

  • 실제로 작업이 동시에 실행하는것.

※ 멀티 프로세싱과 멀티 스레딩 중에서는 멀티 프로세싱이 비용이 많이 들어간다.

profile
개발자 꿈나무

0개의 댓글