
Swift actor의 await 뒤에서 상태가 바뀌는 이유와 캐시 수정 예제
Swift actor 안에서도 await로 실행이 중단되면 다른 호출이 같은 actor의 상태를 바꿀 수 있어요. 이를 재진입(reentrancy)이라고 해요. actor는 격리된 상태의 동시 접근을 막지만, 비동기 메서드 전체를 하나의 작업처럼 보장하지는 않아요.
개발·코드·도구을 더 깊이 이해하고, 일상에 필요한 답을 찾아가는 기록.

Swift actor 안에서도 await로 실행이 중단되면 다른 호출이 같은 actor의 상태를 바꿀 수 있어요. 이를 재진입(reentrancy)이라고 해요. actor는 격리된 상태의 동시 접근을 막지만, 비동기 메서드 전체를 하나의 작업처럼 보장하지는 않아요.

Swift 6 전환에서 Sendable 오류를 줄이는 가장 안전한 순서는 ‘경고를 한꺼번에 없애기’가 아니라 값이 넘어가는 동시성 경계를 먼저 찾고, 불변 값은 Sendable로 만들고, UI는 @MainActor에 두고, 공유 가변 상태는 actor로…