iOS/Swift Concurrency
@globalActor
Hamp
2025. 5. 18. 20:17
반응형

👋 들어가기 전
이번 포스팅은 글로벌 Actor라는 내용을 학습해보자.
엑터를 공부한 이후, @MainActor를 공부했는데 , @MainActor처럼 쓸 수 있게
내가 커스텀으로 만들어낼 수 있는 방법이 있다.
🏁 학습할 내용
- 글로벌 엑터란
🌐 Global 엑터란
⭐️ 정의
앱 전반적으로 사용되는 엑터 타입
MainActor도 글로벌 엑터의 한 종류이다.

🧰 사용법
- @globalActor를 actor선언 시 붙혀준다.
- static 형태의 shared 변수를 만들어준다.
@globalActor
actor MyGlobalActor {
static let shared: MyGlobalActor = MyGlobalActor()
...
}
@MyGlobalActor
final class A {
var arr: [Int] = []
}
✨ 특징
- @MainActor를 쓰는 것 처럼 함수. 프로퍼티, 선언문, Task 클로저등에 사용가능하다.
- 컴파일 타임에 엑터 보장을 검사하고, Task 클로저에서는 실행을 글로벌 엑터의 실행자이게 전달한다.
출처
https://developer.apple.com/documentation/swift/globalactor
GlobalActor | Apple Developer Documentation
A type that represents a globally-unique actor that can be used to isolate various declarations anywhere in the program.
developer.apple.com
https://velog.io/@j_aion/SwiftUI-globalActor
[SwiftUI] @globalActor
How to use Global Actors in Swift (@globalActor) | Swift Concurrency MainActor의 작동이 메인 스레드를 통해 이루어지는 게 보장(싱글턴)되는 것과 마찬가지로 특정 액터 사용을 글로벌 스레드를 통해 사용할 수
velog.io
반응형