티스토리 뷰


출처

http://seorenn.blogspot.kr/2015/12/swift-gcd-dispatch-semaphore.html




DispatchSemaphore 를 사용하는 이유

serial dispatch queue 또는 dispatch_barrier_async 함수보다
작은 단위를 가진 소스코드의 작은 부분에 대한 동시성 제어가 필요한 경우 사용한다.




DispatchSemaphore 사용하기

DispatchSemaphore 의 init 시 사용되는 value 는 자원 개수를 뜻한다.


semaphore.wait() 는 value 값을 줄이고,

semaphore.signal() 은 value 값을 증가시킨다.


value 값이 음수가 되면 해당 스레드는 동작을 멈추고 자원을 얻기위해 기다린다.




.distantFuture 는 forever 와 동일한 시간이라고 보면된다.






공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
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
글 보관함