検索

ホームページ  >  に質問  >  本文

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

我想到的

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

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

天蓬老师天蓬老师2803日前1580

全員に返信(21)返信します

  • 怪我咯

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

    誰かが NSOperation と言ったが、私は言いません。
    しかし、私は GCD の方が好きです。この問題は、バリアを使用して解決できます:

    リーリー

    実際には RAC の方が好きですが、結局 RAC は頑丈なフレームワークなので、使用している企業は多くありません

    リーリー

    返事
    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

    JavaScript の場合:

    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

    Android と iOS のどちらについて質問しているのかわかりません。Android の場合は、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
  • キャンセル返事