나는 DISPATCH_QUEUE_SERIAL
이 FIFO 대기열이며 하나의 프로세서 코어에서만 실행된다는 것을 알았습니다.DISPATCH_QUEUE_CONCURRENT 및 배리어 블록을 사용하여 FIFO 큐를 복제하는 방법은 무엇입니까?
내 앱은 디스크에서 이미지를 가져 와서 효과를 적용하고, UIImage를 만들고 이미지를 배열에 추가합니다. 배열의 순서는 디스크에서 이미지를 읽는 순서와 동일해야합니다.
DISPATCH_QUEUE_SERIAL
을 사용하면 주문이 유지됩니다.
DISPATCH_QUEUE_CONCURRENT
을 사용하는 디자인 패턴은 어떤 이미지가 모든 코어에서 처리 되나 처리가 완료되면 FIFO 순서로 배열에 추가됩니까?
문서 SAIS : 블록 동시에 실행
디스패치 큐. 그들은 블록을 동시에 실행하지만, 차단 블록을 사용하여 큐 내에 동기화 포인트를 만들 수 있습니다.
동시 처리가있는 FIFO 대기열을 생성하는 배리어 블록의 예가 있습니까? 내가 생각할 수있는
배열에서 어떤 색인을 가져와야하는지 계속 추적하는 것이 충분하지 않습니까? 그렇다면 그들이로드되는 순서에 관계없이 그들은 그 인덱스로 갈 것입니다. – micantox
네, 이것도 생각했습니다. 하지만이 문제를 해결하기위한 GCD 디자인 패턴이 있기를 바랬습니다. – openfrog