我想到的
for iOS
1.用dispatch_group实现
2.用RunLoop实现
还有没有其他的比较好的实现方式,求关于并发编程的文章.
怪我咯2017-04-17 16:17:12
누군가 NSOperation이라고 했는데 저는 말하지 않겠습니다.
하지만 저는 GCD를 선호합니다. 이 문제는 장벽을 사용하여 해결할 수 있습니다.
사실 저는 RAC를 선호하지만 결국 RAC는 Heavy Duty 프레임워크이고 이를 사용하는 회사는 많지 않습니다
으아아아PHP中文网2017-04-17 16:17:12
자바스크립트의 경우:
https://github.com/caolan/async
비동기 병렬 처리와 직렬 처리가 매우 편리합니다
jQuery의 Promise나 다른 라이브러리의 Promise 구현을 사용하세요 :)
迷茫2017-04-17 16:17:12
그냥 평소대로 dispatch_group_wait와 dispatch_group_notify를 사용하세요.
또한 모든 응답을 장벽 블록으로 받은 후 작업을 사용하기 위해 dispatch_barrier_sync/dispatch_barrier_async를 사용할 수도 있습니다. 그런 다음 이 블록은 실행되기 전에 모든 네트워크 요청이 완료될 때까지 기다립니다.
黄舟2017-04-17 16:17:12
안드로이드로 문의하시는지, iOS로 문의하시는지 모르겠습니다. 안드로이드라면 CountDownLatch를 사용하여 스레드를 제어하세요
PHPz2017-04-17 16:17:12
Java에서는 동시 패키지의 향후 API를 사용하여 여러 스레드에서 별도의 요청을 구현한 다음 모든 응답 후에 결과를 처리할 수 있습니다.