개발자 99% 커뮤니티에서 수다 떨어요!
오늘 TIL 3줄 요약
세상을 다루기 원한다면 동시성은 필수다.
공유상태는 틀린상태다.
동시에 실행되는 작업을 구현할 때 액터를 사용하자.
TIL (Today I Learned) 날짜
2022.03.31
오늘 읽은 범위
6장. 동시성
책에서 기억하고 싶은 내용을 써보세요.
세상을 다루기 원한다면 동시성은 필수다. 세상은 비동기적이기 때문이다. 사용자와 상호 작용하고, 데이터를 불러오고, 외부 서비스를 호출하는 일을 동시에 해야 한다. 만약 이를 순차적으로 하나를 끝낸 다음에 다음 일을 하는 식으로 수행한 다면, 시스템은 거북이처럼 느리게 느껴질 것이고 프로그램을 구동하는 하드 웨어의 성능도 최대로 활용하지 못할 것이다.( p.242 )
(옮긴이) 동시성은 ‘병행성’이라고도 한다.( p.241 )
Tip 56 작업 흐름 분석으로 동시성을 개선하라.( p.244 )
동시성은 소프트웨어 동작 방식이고, 병렬성은 하드웨어가 하는 것이다.( p.247 )
Tip 57 공유 상태는 틀린 상태다. + 파이 파는것에 에 빗대서 한 이야기 ( p.249 )
세마포어 semaphore 는 단순히 한 번에 한 사람만이 가질 수 있는 무언가다.( p.251 )
‘액터’는 자신만의 비공개 지역 상태 state 를 가진 독립적인 가상 처리 장치 virtual processor 다. 각 액터는 우편함 mailbox 을 하나씩 보유하고 있다.( p.259 )
59 공유 상태 없는 동시성을 위하여 액터를 사용하라.( p.260 )
자바스크립트와 Node.js용 액터 라이브러리인 Nact 6 를 이용하여 구현해 보자.( p.260 )
액터 모델에서는 동시성을 다루는 코드를 쓸 필요가 없다. 공유된 상태가 없기 때문이다. 명시적으로 처음부터 끝까지 “이걸 한 다음 저걸 하라”는 코드를쓸 필요도 없다. 액터가 수신하는 메시지에 따라 알아서 실행되기 때문이다.( p.265 )
동시에 실행되는 작업을 구현할 때 액터를 사용하라.( p.265 )
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
동시성( 병행성 ) 을 사용할만 한것을 찾아서 한번 동시성 코드를 짜보자!
궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
-
오늘 읽은 다른사람의 TIL
nlom0218 님의 TIL https://nomadcoders.co/community/thread/4107