비동기 프로그래밍, 1월부터 열심히 적어 온 문법 아티클의 대단원의 막의(물론 전부를 배운건 아니지만 그래도 어느정도) 피날레이다. 물론 진짜 졸라 많고 어렵고 그렇기 때문에 naljin님의 아티클을 좀 많이 의존하면서 설명할 예정이다. 거의 아티클 복붙이나 다름이 없을 거 같은 포스팅이지만, 더 오랫동안 기억하기 위해서 이렇게 글로 남기려고 한다. 그럼 달려보도록 하겠다! 기록은 언제나 쓸모있으니까!
옛날의 한솔이형도 그렇고 naljin님도 그렇고 다들 일을 분배하는 내용을 예시로 설명을 많이했는데, 그것에 기초해서 나도 설명을 해보려고 한다.
아래와 같이 일들이 쌓여있는 상태에서 → 일을 분배해보려고 한다. 근데 만약 오른쪽 그림처럼 일을 하게 된다면 ⇒ 썅 나였으면 바로 그만둬
그래서 우리는 이 일들을 다른 노동자들에게 나누워 주려고 한다!
일단 그 전에 억울함을 호소하고 있을 일을 몰아서 한 그 노동자를 찾아가보자!
⇒ 이 친구의 이름은 메인 쓰레드로, 주로 UI를 그리는 일을 담당한다!
이 친구의 이야기로는 “나는 원래 UI를 그리는 사람인데, 할게 너무 많아서 힘들어요!!!: 라고 하네여! 왜 저한테 말을 하는 걸까요? 맞아요! 그렇게 일을 시킨 사람이 바로 우리거든요!!
별도의 처리를 안해줬다면, 즉 다른 쓰레드 노동자를 활용하는 코드를 적지 않았다면 우리가 메인 쓰레드를 힘들게 한겁니다.
그럼 우리는 어덯게 작업을 나눠주면 될까요? 사실 이 부분을 모르기 때문에 우리가 계속해서 메인 쓰레드를 혹사시킨거겠죠? 흐흑
하지만 아요에서는 작업을 한 곳으로만 보내주면 알아서 OS가 다른 스레드로 분산 처리를 해주는데 바로 그 장소가 ⇒ Queue입니다!!