쓰레스세이프하다? 란 과연 무엇인가?
모든것이 불변이면? 동기화객체로 공유변수가 감싸져 있으면? TLS,STM,Actor,CSP 를 사용하면?
땡~~~!
쓰레드로 경쟁으로 인해서 솔루션이 원하는대로 동작하지 않는다면 모두 쓰레드 세이프하지 않는 것이다.
좁은 의미로 단어를 사용하다 보면 그게 넓은 범위로 벌어진다고 착각하기 쉽다.
객체 및 내부 변수를 불변으로 만들어 두었다고 쓰레드세이프하다고 착각하지말자.
그것을 어떻게 사용하냐에 따라서 쓰레드들은 당신이 원하는대로 동작하지 않은 결과를 내놓을 것이다.
'소프트웨어 사색' 카테고리의 다른 글
| 언어 선택의 기준 (0) | 2018.03.20 |
|---|---|
| 인터페이스라는 사치 (0) | 2018.03.09 |
| 블럭체인/비트코인 (1) | 2018.01.31 |
| 소프트웨어는 유기물 (0) | 2018.01.15 |
| 굿바이~ 옵저버 패턴 and FRP (0) | 2017.08.17 |