asynchronous

    동기/비동기와 블록킹/논블록킹에 대하여

    1. 동기와 비동기 동기와 비동기는 작업(프로세스)의 수행 순서에 관한 개념으로, 처리해야할 작업들의 순서를 보장하는지 아닌지에 대한 관심사이다. 작업의 순서를 보장하기 위해서는 작업의 완료 여부가 중요하다. 작업이 완료된 후 바로 다음 순서의 작업을 수행해야 하기 때문이다. 만약 작업의 순서가 보장되어야 한다면 선행 작업이 완료될 때 까지 그 결과를 기다릴 것이고, 그렇지 않다면 기다리지 않고 각자의 작업을 수행한다. 즉, 동기/비동기는 특정 작업이 다른 작업의 완료를 신경쓰는지 여부에 대한 관심사이다. 1) 동기 (Synchronous) 동기라는 단어의 뜻은 동시에 일어난다는 뜻으로, 요청과 동시에 결과가 주어진다는 약속이다. 즉, 요청을 하면 시간이 얼마가 걸리던지 결과가 바로 주어져야 한다. (결..

    [Sesac IOS] 25일차 TIL

    25일차 수업에서 배운 내용을 정리한 글입니다. Learned 프로세스(Process) 1) 프로그램 특정 작업을 수행할 수 있고 컴퓨터가 실행시킬 수 있는 코드 프로그래밍 언어로 짜여진 코드는 컴파일러에 의해 컴퓨터가 이해할 수 있는 언어로 번역된다. 2) 프로세스 컴퓨터에 의해 실행되어 메모리에 올라간 프로그램 프로세스는 최소 한 개의 스레드(메인 스레드)를 갖는다. 프로세스마다 독립적인 메모리 공간을 가지기 때문에 다른 프로세스의 메모리에 접근할 수 없다. 멀티 스레드 1) 개념 스레드란 프로세스에서 수행되는 작업의 단위 멀티 스레드란 하나의 프로세스에 여러 스레드가 존재해서 각 스레드마다 여러 작업들이 동시에 수행되는 것을 의미함. 동시에 여러 작업을 수행하기 때문에 빠르게 처리할 수 있다는 장점..