_won_
wonprogrammer
_won_
전체 방문자
오늘
어제
  • 분류 전체보기
    • woncoding
      • TIL
      • WIL
    • source Code
      • Python
      • Programmers
      • BAEKJOON

블로그 메뉴

  • 방명록

티스토리

Github · Wonprogrammer
hELLO · Designed By 정상우.
_won_

wonprogrammer

TIL | 2.2.목 [CS 기초지식 | 동시성과 병렬성]
woncoding/TIL

TIL | 2.2.목 [CS 기초지식 | 동시성과 병렬성]

2023. 2. 6. 11:33

동시성과 병렬성

- 동시성

여러 작업을 CPU가 작업마다 시간을 적절하게 분할해 여러개의 스레드를 번갈아 가면서 실행해 동시에 실행되는 것처럼 만들어 준다.

 

- 병렬성

동일한 시간에 독립적인 작업을 실행 할 수 있다. 즉 동시성과 달리, 여러 작업을 동시에 실행 할 수 있다.

 


 

- 동시성과 병렬성의 장단점

  • 자기가 가진 리소스에 맞춰 사용하되 동시성에서는 자원 공유를 효율적으로 할 수 있으나
  • 멀티 스레드(동시성)는 하나의 스레드만 문제가 생겨도 전체 프로세스가 영향을 받을 수 있습니다.
  • 멀티 프로세스(병렬성)는 구현과 통신 방식이 복잡할 수 있습니다.
    • 멀티 스레드 : 단일 어플리케이션의 단일 프로세스를 두개 이상의 스레드로 처리
    • 멀티 프로세스 : 단일 어플리케이션을 여러 프로세스로 구성후 작업 처리

 

- 사용 이유

  • 파이썬은 GIL (Global Interpretor Lock) 이라는 것이 존재합니다. 멀티 스레드로 코딩해도 한 스레드만 python object에 접근이 가능하도록 되어있습니다.
    • 멀티 스레드를 사용하는 코드라도 한 thread만 코드를 실행 할 수 있도록 함

 

- 효율성 높이기

많은 리소스를 바탕으로 병렬 처리를 늘려가면 좋겠지만 리소스에는 한계가 있기 때문에 두개를 혼합하여 사용하는 편이 좋다.

 

저작자표시 비영리 변경금지 (새창열림)

'woncoding > TIL' 카테고리의 다른 글

TIL | 2.6.월 [CS 기초지식 | JWT]  (0) 2023.02.07
TIL | 2.3.금 [CS 기초지식 | Django ORM]  (0) 2023.02.06
TIL | 2.1.수 [CS 기초지식 | 쿠키와 세션]  (0) 2023.02.06
TIL | 1.31.화 [CS 기초지식 | OSI 7계층]  (1) 2023.02.01
TIL | 1.30.월 [CS 기초지식 | DB JOIN]  (0) 2023.02.01
    'woncoding/TIL' 카테고리의 다른 글
    • TIL | 2.6.월 [CS 기초지식 | JWT]
    • TIL | 2.3.금 [CS 기초지식 | Django ORM]
    • TIL | 2.1.수 [CS 기초지식 | 쿠키와 세션]
    • TIL | 1.31.화 [CS 기초지식 | OSI 7계층]
    _won_
    _won_
    Coding Practice blog

    티스토리툴바