응애맘마조
230214 강의 본문
동기와 비동기가 있는데 동기는 순차적으로 처리하고 비동기는 비순차적이고 동시에 실행이 됩니다.
프로세스는 과정이나 처리라는 뜻을 갖고 있습니다.
컴퓨터에서의 프로세스는 실행이나 처리하고 있는 프로그램을 의미합니다.
더 나아가서 멀티프로세스는 연속적으로 처리를 하고 있는 프로세스를 의미합니다.
프로세스 내에서 실행되는 단위를 스레드라고 하고 비동기적으로 일어나야 되는 로딩씬은 멀티스레드라고 합니다.
멀티스레드에서는 공유되고 있는 메모리가 문제가 됩니다. map과 unmap을 해서 GPU와 CPU의 접근을 제한하는 것처럼 동시에 읽고 쓰기가 되지 않도록 Lock과 Unlock를 사용해야 됩니다. <mutex>안에 lock, unlock이 있습니다. 그리고 스레드<thread>를 사용해서 함수의 주소를 쓸 수 있습니다. 위처럼 공유되고 있는 메모리의 문제로 스레드가 전부 다 돌기 전에 메인 함수가 끝나버립니다. 그렇게 되면 연산이 전부 끝나기도 전에 출력이 됩니다. 그때 join()을 사용합니다.
이들을 이용해서 오늘은 로딩씬에 대해서 배웠습니다.
오늘부로 2D과정의 모든 기능을 배웠습니다. 앞으로 학원을 나가도 포폴만 만들게 될 예정입니다.
3D를 배우게 될 때 그리고 당분간은 포폴 진행상황만 올라올 것 같습니다.
읽어주셔서 감사합니다.
Comments