동기적 / 비동기적

Jan 29, 2024
동기적 / 비동기적

1. 동기적 동작이란?

프로그램이 동기적이다 = 일의 순서가 있다.
작업이 순차적으로 진행됩니다. 작업 A가 시작되면, 작업 A의 완료를 기다린 후에 작업 B가 시작됩니다. 작업 A가 완료되기 전까지 다른 작업이 실행되지 않습니다. (대기!) 순차적으로 작업을 처리하기 때문에 결과의 순서가 보장된다. 주로 단일 스레드 환경에서 사용되며, 작업의 순서와 결과에 의존하는 경우에 적합. ex) 웹 페이지를 로딩할 때 이미지를 한 장씩 로딩하고 완료되면 다음 이미지를 로딩하는 것이 동기적 동작!
💡
…무식한 방법! 동기적으로 만들면 고객이 사용하지 않을 것!
notion image
 

2. 비동기적 동작이란?

프로그램이 비동기적이다 = 일의 순서가 없는 것. = 하나의 일을 받았는데 마무리가 안된 상태에서 일을 하는 것. = 작업을 시작한 후에 다른 작업을 동시에 진행할 수 있다! = CPU가 멍을 덜 때린다! 이게 바로 멀티 스레드!
작업이 서로 독립적으로 진행됩니다. 작업 A가 시작되면, 작업 A의 완료를 기다리지 않고 작업 B가 동시에 시작됩니다. 작업 A와 작업 B는 병렬적으로 진행될 수 있습니다. 주로 멀티스레드 또는 비동기 처리를 지원하는 환경에서 사용되며, 작업의 독립성과 병렬 처리가 필요한 경우에 적합 ex) 웹 페이지에서 여러 개의 이미지를 동시에 로딩하고, 각각이 완료되는 대로 표시되는 것이 비동기적 동작
notion image

+) 알고리즘의 종류

비동기일때 알고리즘이 만들어짐.

1. 라운드 로빈

notion image
 

2. FIFO (first in first out)

notion image
 

3. 최소 우선 알고리즘

notion image
 
💡
task = 작업이나 일을 의미
 
 
Share article

codingb