Swift 6의 수수께끼 같은 `@isolated(any)`: 알아야 할 사항

2025-09-01
Swift 6의 수수께끼 같은 `@isolated(any)`: 알아야 할 사항

Swift 6은 비동기 함수의 격리를 설명하는 `@isolated(any)` 속성을 도입했지만, 처음에는 혼란스러울 수 있습니다. 항상 인수가 필요하지만, 이 인수는 변경할 수 없습니다. 이 글에서는 도입 이유를 설명합니다. 비동기 함수 스케줄링 중에 격리 정보가 손실되는 문제를 해결하기 위해서입니다. `@isolated(any)`는 함수의 격리 속성에 대한 액세스를 제공하여 보다 스마트한 스케줄링을 가능하게 합니다. 특히 `Task`와 `TaskGroup`을 처리할 때 MainActor에서 작업의 실행 순서를 보장합니다. 대부분의 경우 무시해도 되지만, 비동기 함수의 격리 및 스케줄링을 다룰 때 `@isolated(any)`를 이해하는 것은 효율적이고 안정적인 동시 실행 코드를 작성하는 데 필수적입니다.