Tread-safe

김민영·2023년 1월 27일
0

CS 스터디

목록 보기
14/32

Tread Safe

  • 멀티 스레드 프로그래밍에서 함수, 변수, 객체에 동시 접근이 이루어져도 정상 실행하는 것.
  • 하나의 함수가 한 스레드로부터 호출되어 실행중일 때, 다른 스레드가 그 함수를 호출하여 동시에 실행하더라도 각 스레드에서 올바른 결과가 나오는 것.

방법

Re-entrancy

  • 어떤 함수가 한 스레드에 호출되어 실행 중일 때, 다른 스레드가 그 함수 호출해도 각각 결과가 맞게 나와야 함.

Thread-local storage

  • 공유 자원 사용을 최소화. 각 스레드에서만 접근 가능한 저장소를 사용하여 동시접근 막음
  • 공유 상태를 피할 수 없을 때 사용

Mutual exclusion

  • 공유 자원을 사용해야 하는 경우, 다른 스레드로부터 자원으로 접근을 세마포어 등 락으로 통제

Atomic operations

  • 공유 자원에 접근할 때 원자 연산 이용. 원자적으로 정의된 접근 방법 사용하여 상호 배제 구현

https://sup2is.github.io/2021/05/03/thread-safe-in-java.html

profile
노션에 1차 정리합니당 - https://cream-efraasia-f3c.notion.site/4fb02c0dc82e48358e67c61b7ce8ab36?v=

0개의 댓글