찾다

 >  Q&A  >  본문

java - 发送10个网络请求,然后再接收到所有回应之后执行后续操作,如何实现?

我想到的

for iOS
1.用dispatch_group实现
2.用RunLoop实现   

还有没有其他的比较好的实现方式,求关于并发编程的文章.

天蓬老师天蓬老师2803일 전1581

모든 응답(21)나는 대답할 것이다

  • 怪我咯

    怪我咯2017-04-17 16:17:12

    누군가 NSOperation이라고 했는데 저는 말하지 않겠습니다.
    하지만 저는 GCD를 선호합니다. 이 문제는 장벽을 사용하여 해결할 수 있습니다.

    으아아아

    사실 저는 RAC를 선호하지만 결국 RAC는 Heavy Duty 프레임워크이고 이를 사용하는 회사는 많지 않습니다

    으아아아

    회신하다
    0
  • 阿神

    阿神2017-04-17 16:17:12

    RxAndroid를 사용하세요. .zip 방법만 있으면 됩니다. .

    회신하다
    0
  • PHP中文网

    PHP中文网2017-04-17 16:17:12

    더 좋은 방법은 addDependecy 메소드가 있으므로 NSOperation을 사용하는 것입니다~

    회신하다
    0
  • PHP中文网

    PHP中文网2017-04-17 16:17:12

    자바스크립트의 경우:

    1. https://github.com/caolan/async
      비동기 병렬 처리와 직렬 처리가 매우 편리합니다

    2. jQuery의 Promise나 다른 라이브러리의 Promise 구현을 사용하세요 :)

    회신하다
    0
  • PHP中文网

    PHP中文网2017-04-17 16:17:12

    머지 정렬의 개념과 유사한 맵리듀스 방식을 배워보세요

    회신하다
    0
  • 迷茫

    迷茫2017-04-17 16:17:12

    그냥 평소대로 dispatch_group_wait와 dispatch_group_notify를 사용하세요.

    또한 모든 응답을 장벽 블록으로 받은 후 작업을 사용하기 위해 dispatch_barrier_sync/dispatch_barrier_async를 사용할 수도 있습니다. 그런 다음 이 블록은 실행되기 전에 모든 네트워크 요청이 완료될 때까지 기다립니다.

    회신하다
    0
  • 黄舟

    黄舟2017-04-17 16:17:12

    안드로이드로 문의하시는지, iOS로 문의하시는지 모르겠습니다. 안드로이드라면 CountDownLatch를 사용하여 스레드를 제어하세요

    회신하다
    0
  • PHPz

    PHPz2017-04-17 16:17:12

    Java에서는 동시 패키지의 향후 API를 사용하여 여러 스레드에서 별도의 요청을 구현한 다음 모든 응답 후에 결과를 처리할 수 있습니다.

    회신하다
    0
  • ringa_lee

    ringa_lee2017-04-17 16:17:12

    iOS용
    처리를 위한 직렬 대기열을 만듭니다. 외부 동시 요청에는 영향을 주지 않습니다.

    회신하다
    0
  • 黄舟

    黄舟2017-04-17 16:17:12

    JS에서는 어떻게 구현하나요?

    회신하다
    0
  • 취소회신하다