あなたのすべてのメソッドをAndroidで同期させることに欠点はありますか?Android:すべてのメソッドを同期させてみませんか?
1
A
答えて
6
はい - それはあなたが本当にそれを望んでいないときにロックを取り出すことになります。 はにはスレッドセーフを無料で提供しません。コードを遅くしすぎて、ロックが多すぎるためデッドロックに陥る可能性が高くなります。
あなた 明示的にスレッドセーフと同期を考える必要があり。私は通常、ほとんどのクラスを にしないで、スレッドセーフであり、スレッディングについて考える場所の数を制限しようとします。「作る同期のすべて」のアプローチは、私が考えるもので一般的なもので、開発者のためのスレッド意識の四つの段階として:
- 完全な無知:同期なし、潜在的な問題の無い意識
- いくつかの意識が、ユニバーサル同期はすべての病気を治すという信念
- 問題がある場所を知って、となって物事の上にケアをたくさん取るの痛みを伴う段階右
- 取得すべてrの神話の舞台自然に喜んで
ほとんどの経験豊富な開発者は私が言うことができる限り、段階3に入っています。不変性を使用すると、低レベルのプリミティブなどの代わりに高水準の抽象化が大いに役立ちますが、最終的には、状態を共有する必要のある複数のスレッドを持っている場合は、かなりの量を考える必要があります。
+0
ありがとう、私はそれが簡単にすることができないという気持ちがあった:) – tjb
関連する問題
- 1. Java同期メソッドが同期していません
- 2. Android Azureオフライン同期 - 同期を完了していません
- 3. AXIS:OperationDescはメソッドに同期されていません
- 4. tmuxはいくつかのペインを同期させますが、すべてのペインを同期させません
- 5. すべてのIDを配列から同期させよう
- 6. メソッドを同期させると、すべてのインスタンスメソッドがロックされるか、同期メソッドだけがロックされますか?
- 7. 非同期タスクはonPostExecuteをオーバーライドさせません(メソッドはスーパークラスのメソッドをオーバーライドしません)
- 8. Build.gradleはAndroidスタジオを同期していません
- 9. バックエンドがAndroidスタジオのメインアプリと同期していません
- 10. 同期アダプタのContentResolver.requestSyncがAndroidで動作していません
- 11. SpringのAsync Restメソッドが非同期に実行されていません
- 12. AndroidアプリはArduinoと同期していませんシリアル通信
- 13. 非同期機能が動作していませんAndroid
- 14. Gradleが同期していません
- 15. キーフレームアニメーションが同期していません
- 16. 時計エミュレータとAndroid Phoneの間でデータが同期されていません
- 17. Android - マイメニューが表示されません。私はすべてを試みた
- 18. ページ内のコンポーネントの読み込みを同期させます
- 19. Couchbaseサーバーと同期ゲートウェイが同期していません
- 20. コントローラメソッドを非同期にするか、同期させますか?
- 21. SyncReplicasOptimizerはワーカーを同期させませんか?
- 22. なぜSingleThreadModelは属性を同期させませんか?
- 23. 2つのjQueryイベントが同期化されていません
- 24. Unity2Dは、すべてのクライアント(マルチプレイヤー)にスプライトを同期できません。
- 25. ハンドラの作成を同期させて、
- 26. 非同期メソッドから戻ることができません
- 27. Androidのnotify()メソッドが呼び出されていません
- 28. AndroidのWCFメソッドは許可されていません
- 29. SQL:すべてのGetDate()メソッドが機能していません
- 30. すべてのAndroid通知を送信していません
はい、それはあなたがそれがないと思う何文句を言いません。 –