8건의 항목

  • Thread에 대해서 알아본다. 쓰레드(Thread) 쓰레드는 프로그램 **내부의 흐름(맥)**이다.

  • 동시성과 깔끔한 코드는 양립하기 아주 어렵다. 그럼에도 불구하고, 동시성은 왜 필요할까? 객체는 처리의 추상화다. 스레드는 일정의 추상화다. - 제임스 O. 코플리엔 동시성이 필요한 이유? 동시성은 “무엇”과 “언제”의 Coupling을 없애는 전략이다.

  • 무심코 사용하는 많은 비동기 함수들은 사실 변화의 과정을 겪은 결과들이다. 네트워크 I/O API가 어떻게 변화되어 왔는지 알아보자. 한눈에 보기 network API를 사용하다보면 자연스레 머리에 이런 그림이 떠오른다.

  • 여러 일을 여러 사람이 각자 동시에 하는 것 행위도 여러개, 주체도 여러개 가짜 병렬 (논리적 개념) 코어는 하나임에도 두개의 서로 다른 동작을 번갈아가며 처리하여 동시에 수행하는 것 “처럼” 보이는 것 소프트웨어 수준으로 처리 Thread, Actor 등 Reference Parallelism .

  • RunLoop이란 무엇일까? RunLoop Run loop은 일단 Thread와 관련된 녀석이다. 간단하게 말하면, Run loop은 event를 처리하기 위해 만들어진 loop이다. Timer 또한 함께 처리한다.

  • autoreleasepool. 어딘가에서 들어봤지만 언제쓰는지는 전혀 몰랐다.

  • 동시성은 이제 프로그래밍에서 빼놓을 수 없는 요소가 되었다.

  • 앞에서는 새롭게 나온 개념들을 어떻게 사용하는지에 대해서 알아보았다. 그렇다면 왜 이렇게 설계했는지, 실제로는 어떻게 동작하는지 알아보자. Threading Model New feed reader 앱을 만든다고 생각해보자. 고수준에서 어떠한 것들이 필요할지 생각해보자.