1 min to read
ObjectiveC)단일쓰레드 처리
Thread,
@
멀티쓰레드를 사용하여 UI나 데이터 처리를 빠르게 할 수 있다.
하지만 멀티쓰레드 상에서 공유자원을 사용하는 경우 이들이 충돌이 일어나서 앱이 죽어버리는 경우가 생기는데
사람인지라 순차적으로 생각하는게 더 편하다.
그래서 시리얼큐와 같은 순차적인 쓰레드처리가 생긴 것 같다.
이 쓰레드는 단일 쓰레드로 block1의 처리가 완료된 후 block2의 처리가 진행되게 된다.
따라서 데이터 처리 중 원자처리를 해결할 수 있다.
dispatch_queue_t serialQueue = dispatch_queue_create("ThreadName", DISPATCH_QUEUE_SERIAL);
dispatch_async(serialQueue, ^{
//block1
});
dispatch_async(serialQueue, ^{
//block2
});
Comments