Community

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

← Go back
6장.동시성
#pragmatic
2년 전
1,025
1

오늘 TIL 3줄 요약

  • 시간이나 순서에 의존하는 결합을 끊고 동시성을 개선한 작업

  • 엑터와 프로세스를 사용하면 흥미로운 방식으로 동시성을 구현할 수 있다

  • 칠판으로 작업 흐름을 조율하라.

TIL (Today I Learned) 날짜

2022.03.30

오늘 읽은 범위

6장.동시성

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

  • 동시성은 둘 이상의 코드 조각이 실행될 때 동시에 실행 중인 것처럼 행동하는 것, 병렬성은 실제로 동시에 실행되는 것

  • 시간이나 순서에 의존하는 시간적 결합을 끊는 방법을 생각해 내야 한다.

  • 작업 흐름 분석으로 동시성을 개선하라. 활동 다이어그램 같은 표기

  • 동시성을 고려한 설계, 병렬 작업의 기회, 기회를 찾아내서 안전하게 구현하기

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

  • 공유 메모리는 동시성 문제의 원인으로 꼽히지만 수정 가능한 리소스를 공유하는 애플리케이션 코드 어디에서나 발생한다. 불규칙한 실패는 동시성 문제인 경우가 많다.

  • 엑터와 프로세스를 사용하면 흥미로운 방식으로 동시성을 구현할 수 있다. 공유 메모리 접근을 동기화하느라 고생할 필요도 없다.

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

  • 동시성 문제를 예방하기 위해 아키텍처에서 액터와 칠판, 마이크로서비스, 추적 아이디 활용

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

프로그램을 설계할 때 간단하게 다이어그램을 적어보는 데 동시성을 생각한 다이어그램은 생각해보지 못했다. 대체로 시간/순서에 의존한 다이어그램을 작성했었다. 이번에 만드는 작업물에서는 동시성을 생각한 작업 형태를 떠올려 봐야겠다. 마지막 연습 문제에 있는 이미지처리, 칠판 시스템을 구현해보고 싶다.

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

종업원을 예시로 설명했던 세마포어의 개념 부분은 이해가 되는데 리소스를 트랜젝션으로 관리하라는 부분은 코드가 잘 이해가 안 되어서 문제 해결 과정이 잘 이해가 안 된다.

동시성 문제에 관한 더 다양한 예시가 있다면 이해하는데 도움이 될 것 같다.

1 comment