c/cocoaのブロックがメインスレッドとは別のスレッドで実行されているかどうかを知りたい。彼らはUIを応答したままにして、計算コストの高いコードを実行するのに有益でしょうか?ブロックとスレッド
答えて
ブロックは、呼び出し可能なオブジェクトにまとめられたコードのスニペットです。彼らがどのように動作するかは、それを呼び出すコードによって決まります。
別のスレッド上のブロックを実行することは可能であるだけでなく、ブロックの概念が導入された理由です。 Grand Central Dispatchをサポートするために存在します。これは、タスク指向モデルの背後にある複雑な並行プログラミングの多くを隠しています。
非常に簡潔な答えです。私はブロックがクロージャのC実装であると付け加えることは価値があると思います。 http://en.wikipedia.org/wiki/Closure_(computer_science) –
最初に来たのは?ブロックまたはGCD? :)実際にブロックはGCDに対して直角に作られましたが、ピーナッツバターやチョコレートのように、彼らはどのようにうまく一緒に働いたかが素早く明らかになりました。 – bbum
他のスレッドで実行する必要はありませんが、実行することはできます。それらをNSOperationQueuesまたはGCDキューでスケジューリングすることができます。これらのキューはバックグラウンドスレッドによって排除できます。
はい、これは、メインスレッドから時間のかかる作業を手助けするのに役立つ構成です。しかし、これはブロックが有用であるとは限らず、逆にブロックの有無にかかわらずバックグラウンド処理を行うことができます。
- 1. スレッドをブロックするスレッド
- 2. wxPythonスレッドのブロック
- 3. javaスレッドのブロック
- 4. Javaスレッド:synchronizedブロック
- 5. AsyncTaskブロックUIスレッド
- 6. javaスレッド同期ブロック
- 7. ロードDLLブロックUIスレッド
- 8. スレッド構築ブロックとグラフィカル処理ユニット
- 9. ブロックとスリープ状態の消費者スレッド/
- 10. ブロック/グリッドとスレッド/ブロックを活用するには?
- 11. CUDAブロックごとのスレッド、グリッドあたりのブロック数
- 12. タスク継続ブロックUIスレッド
- 13. SilverlightのブロックUIスレッドOnNavigatingFrom
- 14. ブロック現在のスレッドが
- 15. iOS AVPlayer replaceCurrentItemWithPlayerItem:nilブロックUIスレッド
- 16. ブロック、現在のスレッドが
- 17. cudaカーネルのブロックとスレッドの数と使い方
- 18. ServerSocket.accept()でブロックされたスレッドのブロックを解除するには?
- 19. Thread.JoinもUIスレッドで子スレッドをブロックしています
- 20. 新しいスレッドはまだUIスレッドをブロックしています
- 21. スレッド:スレッドをブロックせずにUIを更新しますか?
- 22. Android bluetooth:UIスレッドから開始されたスレッドはUIスレッドをブロックします
- 23. RxAndroidはUIスレッドをブロックします
- 24. ブロック・スレッドなしのNode-wait apiコール・クォータ
- 25. 非同期タスクまだブロックUIスレッド
- 26. GoogleマップOnCameraChangeListenerジオコーダAsynTaskブロックUIスレッドは
- 27. Nettyスレッドがブロックされています
- 28. linqはスレッドをブロックしますか?
- 29. glGetErrorはスレッドをブロックできますか?
- 30. バウンド条件述語ブロックの子スレッド
CやObjective-Cに関する質問はありますか? –
私はそれがあなたがブロックをどのように呼び出しているかに依存すると思う... –
@Let_Me_Be面白い質問...技術的にはCレベルで実装されていますが、Objective-Cで使用されているのを見たことがあります。 –