Community

개발자 99% 커뮤니티에서 수다 떨어요!

← Go back
6장.동시성
#pragmatic
2년 전
565

오늘 TIL 3줄 요약

  • 불규칙한 실패는 동시성 문제인 경우가 많다.

  • 공유 상태 없는 동시성을 위하여 액터를 사용하라.

  • 공유 상태는 틀린 것이다.

TIL (Today I Learned) 날짜

2022.05.26.

오늘 읽은 범위

6장. 동시성

책에서 기억하고 싶은 내용을 써보세요.

  • 암담한 기분이 드는가? 결코 절망하지 말지어다(nil desperandum)! (p242)

  • 소프트웨어의 설계 요소에서의 시간
    - 동시성(동시에 일어나는 일들)
    - 순서 (시간의 흐름 속에서 일들의 상대적인 위치) (p243)

  • 액터 : 자신만의 비공개 지역 상태를 가진 독립적인 가상 처리 장치 (p259)
    - 메시지를 처리할 때 다른 액터 생성
    - 또는 알고 있는 다른 액터에게 메시지를 전송
    - 또는 다음 메시지를 처리할 때의 상태가 될 새로운 상태 생성

오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요

  • 공유 메모리를 사용해야 할 때 세마포어를 사용하는 경우가 많았다. 하지만 세마포어를 왜 사용하는 가에 대해서는 진지하게 생각해보지 않았던 것 같다.

  • 또, 동시성은 소프트웨어 동작 방식이고 병렬성은 하드웨어가 하는 것이다.
    처음에는 왜 이렇게 나누었지? 라고 생각하다가 한 강의에서 배운 스레드-프로세스 개념을 대입하니 이해가 되었다. 프로세스는 컴퓨터에서 실행되고 있는 프로그램의 단위이고, 이 프로세스 안에는 멀티 스레드가 하나의 공유 자원을 공유한다. 컴퓨터는 여러 개의 프로세스를 사용하고 각각의 프로세스는 여러 개의 스레드를 통해 하나의 공유 자원을 공유한다. 따라서 프로세스가 하드웨어라고 볼 수 있고, 스레드는 소프트웨어라고 볼 수 있다.

궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.

  • 얼랭(Erlang) 언어 -> 처음 들어본 언어인데 생각보다 이점이 많은 것 같다.

  • 상호 배제(mutual exclusion) = 뮤텍스(mutex) = 모니터(monitor) = 세마포어 ?

오늘 읽은 다른사람의 TIL