어떤 태스크가 메인 쓰래드에서 처리 되길 기다리는 것이 아니라

비동기적으로 다른 곳에서 실행하고 태스크의 결과 값이 필요 할 때 가져다가 쓰는 것

메인 쓰레드에서 다른 쓰레드로 작업을 보내고 기다리지 않고 다음 일을 바로 접하는 것

비동기가 필요한 이유

주로 서버와의 통신을 위해서 (네트워크 작업)

URLSession api 의 경우 비동기적으로 처리할 수 있는 기능이 있다.

비동기 시 생길 수 있는 문제점

레이스 컨디션

2개 이상의 쓰레드에서 공유된 데이터에 동시에 접근하는 경우

원하지 않는 결과가 생긴다

해결 방법

데드락