Thread-safe(2)
-
NSLock
0. 개발자 문서 확인 먼저 알아보기 전에 NSLock에 관한 설명을 애플의 개발자 문서에서 먼저 찾아보았다. https://developer.apple.com/documentation/foundation/nslock An object that coordinates the operation of multiple threads of execution within the same application. “동일한 어플리케이션 내에서 여러 스레드를 조정하는 객체” 라고 나와 있었다. 1. Thread-Safe를 지키는 방법 Re-entrancy 어떤 함수가 한 스레드에 의해 호출되어 실행 중일 때, 다른 스레드에서 함수가 호출되더라도 올바르게 주어져야함 Thread-local storage 공유 자원을 줄여 각..
2022.05.25 -
defer
Swift를 사용하면서 거의 잘 활용하진 않았지만, 꽤나 흥미롭게 다가와 이 문법을 정리하게 되었다. 0. defer란 무엇인가? 현재 스코프를 벗어날 경우 가장 마지막에 실행이 되는 구문이다. 처음 보면 이해가 잘 가지 않겠지만 예시를 이해하다 보면 생각보다 금방 이해할 수 있다. 1. defer 활용해보기 위와 같이 구성을 한 후 결과를 출력해보았다. 그랬더니 b, a, c 순서대로 출력이 되는 것을 확인 할 수 있었다. 간단하게 설명하자면 defer는 함수의 가장 마지막에 실행이 된다는 것을 보장하는 것이다. 1-1. defer 여러개 쓰기 그렇다면 defer를 여러개로 쓰게 된다면 어떻게 될까? 이렇게 defer를 여러개 쓰게 된다면 2, 1 순서로 출력된다. defer는 스택의 형식으로 사용되며..
2022.05.24