我想到的
for iOS 1.用dispatch_group实现 2.用RunLoop实现
还有没有其他的比较好的实现方式,求关于并发编程的文章.
欢迎选择我的课程,让我们一起见证您的进步~~
では、ネットワークリクエストはすべて非同期ですが、同じ方法で処理されるのでしょうか?
ブロックまたはクロージャを作成します。ネットワーク リクエストを送信し、completionHandler で自身を呼び出して次のリクエストを送信します。
Android は間違いなく RxJava、iOS は RxSwift ですか?
dispatch_group_t group =dispatch_group_create();dispatch_group_enter(group);[リクエスト 1 完了:^(BOOL 成功、ID 応答){
}];
dispatch_group_enter(group);[リクエスト 2 が完了しました:^(BOOL 成功、ID 応答){
dispatch_group_enter(group);[リクエスト 3 完了:^(BOOL 成功、ID 応答){
dispatch_group_enter(group);[リクエスト 4 完了:^(BOOL 成功、ID 応答){
}];....
dispatch_group_notify(group,dispatch_get_main_queue(), ^{
});
GCD は常に C/C++ コードに使用できるため、GCD を使用する方が良いと思います
AFNetworkingをご利用の方はAFURLConnectionOperation batchOfRequestOperations: progressBlock:completionBlock:
AFNetworking
AFURLConnectionOperation batchOfRequestOperations: progressBlock:completionBlock:
GCD のグループを使用する
Android の RxJava を使用して簡単に実装できます。 もちろん、スレッド同期補助クラス CountDownLatch の実装を試すこともできます。CountDownLatch の使用方法については、次のブログを参照してください: http://www.liuling123.com/2013/08/countdownlatch -demo.html
このような問題に直面したとき、私は通常、リソース変数を設定し、リソースを 10 に初期化し、スレッドを実行してリソースの数を監視します。リソースが完了するたびに、同時タスクが開始され、リソースが 0 になると、リスニング スレッドが停止され、後続の操作が完了します。
これは愚かな考えです。結局のところ、ほとんどの言語はこの方法で実装できます。
Java 独自の同時実行フレームワークは、あなたが言及した将来の問題の解決をサポートします
では、ネットワークリクエストはすべて非同期ですが、同じ方法で処理されるのでしょうか?
ブロックまたはクロージャを作成します。ネットワーク リクエストを送信し、completionHandler で自身を呼び出して次のリクエストを送信します。
Android は間違いなく RxJava、iOS は RxSwift ですか?
dispatch_group_t group =dispatch_group_create();
リーリーdispatch_group_enter(group);
[リクエスト 1 完了:^(BOOL 成功、ID 応答){
}];
dispatch_group_enter(group);
リーリー[リクエスト 2 が完了しました:^(BOOL 成功、ID 応答){
}];
dispatch_group_enter(group);
リーリー[リクエスト 3 完了:^(BOOL 成功、ID 応答){
}];
dispatch_group_enter(group);
リーリー[リクエスト 4 完了:^(BOOL 成功、ID 応答){
}];
.
.
.
.
dispatch_group_notify(group,dispatch_get_main_queue(), ^{
リーリー});
GCD は常に C/C++ コードに使用できるため、GCD を使用する方が良いと思います
もご利用いただけますAFNetworking
をご利用の方はAFURLConnectionOperation batchOfRequestOperations: progressBlock:completionBlock:
GCD のグループを使用する
Android の RxJava を使用して簡単に実装できます。
もちろん、スレッド同期補助クラス CountDownLatch の実装を試すこともできます。CountDownLatch の使用方法については、次のブログを参照してください:
http://www.liuling123.com/2013/08/countdownlatch -demo.html
このような問題に直面したとき、私は通常、リソース変数を設定し、リソースを 10 に初期化し、スレッドを実行してリソースの数を監視します。リソースが完了するたびに、同時タスクが開始され、リソースが 0 になると、リスニング スレッドが停止され、後続の操作が完了します。
これは愚かな考えです。結局のところ、ほとんどの言語はこの方法で実装できます。
Java 独自の同時実行フレームワークは、あなたが言及した将来の問題の解決をサポートします