투케이2K

599. (ios/swift5) [간단 소스] DispatchSemaphore 간단 설명 및 사용 옵션 정리 본문

IOS

599. (ios/swift5) [간단 소스] DispatchSemaphore 간단 설명 및 사용 옵션 정리

투케이2K 2024. 12. 1. 21:17

[개발 환경 설정]

개발 툴 : XCODE

개발 언어 : SWIFT5

 

[소스 코드]

 

// --------------------------------------------------------------------------------------
[개발 및 테스트 환경]
// --------------------------------------------------------------------------------------

- 언어 : Swift


- 개발 툴 : Xcode


- 기술 구분 : DispatchSemaphore / 세마포어 / 동기 처리

// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[설명 정리]
// --------------------------------------------------------------------------------------

1. DispatchSemaphore 은 세마포어를 사용하여 여러 실행 컨텍스트에서 리소스에 대한 액세스를 제어하는 ​​객체입니다


2. DispatchSemaphore 은 호출 스레드가 차단되어야 할 때만 커널로 호출합니다


3. DispatchSemaphore 사용 가능 범위 : 

  >> iOS 8.0 이상
  >> 아이패드OS 8.0 이상
  >> 맥 카탈리스트 13.0+
  >> 맥OS 10.10+
  >> tvOS 9.0 이상
  >> 비전OS 1.0+
  >> 워치OS 2.0 이상
  >> 엑스코드 8.0+


4. DispatchSemaphore 세마포어 신호 보내기 : 

  >> func signal() -> Int : 세마포어에 신호를 보냅니다 (증가시킵니다)


5. DispatchSemaphore 세마포어 종료 : 

  >> func wait() : 세마포어를 기다리거나 감소시킵니다.
  >> func wait(timeout: DispatchTime) -> DispatchTimeoutResult : 세마포어를 기다리거나 감소시킵니다.
  >> func wait(wallTimeout: DispatchWallTime) -> DispatchTimeoutResult : 세마포어를 기다리거나 감소시킵니다.

// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------

https://developer.apple.com/documentation/dispatch/dispatchsemaphore

// --------------------------------------------------------------------------------------

반응형
Comments