lgvv98

  • 홈
  • 태그
  • 방명록

lock 1

defer로 인해 lock의 범위가 넓어져 발생한 문제 분석

defer로 인해 lock의 범위가 넓어져 발생한 문제 분석 동시성 코드에서 lock은 가장 직관적인 장치 중 하나로 여러 스레드가 같은 상태를 동시에 읽고 쓰면 race condition이 발생할 수 있기 때문에 공유 자원을 보호하기 위해 lock을 사용. 문제는 아래의 코드 패턴은 락의 범위를 함수 끝까지 늘려서 이 경우 후속 로직에서 lock을 다시 잡아야 하는 코드가 존재면 문제가 발생할 수 있음.func foo() { lock.lock() defer { lock.unlock() } // do something} 문제가 발생하는 코드 예시락을 잡은 채 기다리는 구조가 생기면 장기 대기나 데드락으로 이어질 수 있음.특히 코드와 로직이 복잡할수록 원인이 코드 한가운데에 숨어..

project/개발 업무 2026.03.26
이전
1
다음
더보기
프로필사진

lgvv98

iOS, Swift, UIKit, SwiftUI

  • 분류 전체보기 (457)
    • it 책 (18)
      • 오브젝트: 코드로 이해하는 객체지향 설계 (17)
      • 헤드퍼스트 디자인패턴 개정판(2022) (0)
      • Do it 강화 학습 입문 (1)
      • 단위 테스트: 생산성과 품질을 위한 단위 테스트 .. (0)
    • project (61)
      • 개발 업무 (22)
      • Kuring(공지알림) (28)
      • Funch(넥스터즈) (10)
    • apple (253)
      • DesignPattern, Architecture (25)
      • iOS, UIKit, Documentation (91)
      • SwiftUI, Combine (29)
      • RxSwift, ReactorKit (31)
      • Testing, Xcode, Environment (12)
      • Video, Audio, DRM (12)
      • WWDC (31)
      • VisionOS, ARKit (7)
      • Vapor (1)
      • TCA (14)
    • AI (12)
      • DeepLearning (11)
    • 알고리즘 문제 풀이 (72)
    • backend (8)
      • Node.js (8)
      • 네트워크 개념 (0)
    • Flutter (22)
      • 2.0 (22)
    • Archive (10)
      • 자료구조와 알고리즘 (6)
      • git (1)

Tag

rxcocoa, 프로그래머스, UIKit, CollectionView, 오블완, Xcode, ios, 백준, 객체지향, SwiftUI, RxSwift, swift, XCTest, 오브젝트, TCA, Apple, 디자인패턴, Flutter, 티스토리챌린지, combine,

최근글과 인기글

  • 최근글
  • 인기글

최근댓글

공지사항

페이스북 트위터 플러그인

  • Facebook
  • Twitter

Archives

Calendar

«   2026/04   »
일 월 화 수 목 금 토
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30

방문자수Total

  • Today :
  • Yesterday :

Copyright © AXZ Corp. All rights reserved.

  • github

티스토리툴바