11

Androidで簡単なグラフィックコードを書くことを検討していますが、いくつかのsynchronized()ブロックに気づきました。

この背後にある理由は何ですか?また、コードを「同期」するタイミングをどのように知ることができますか?

4

1 に答える 1

26

synchronizedステートメント ブロックは、アプリケーションが多数のスレッドを使用する並行プログラミング (マルチスレッド アプリケーション) で一般的に使用されます。Android ゲームの例として、クライアント処理用の 1 つのスレッド、サーバー用のスレッド、他のプロセスの生成用のスレッドなどを作成できます。

キーワード自体により、一度に 1 つのスレッドでメソッドにアクセスできるようになり、スレッドセーフになります。synchronizedアプリケーションがステートメントを使用せずにリソースを共有すると、デッドロックが発生する危険性があります。

デッドロックはハングアップ、つまりプロセスがハングアップします。特に携帯電話のプロセッサのサイズを扱う場合、デッドロックは絶対に回避する必要があります。

于 2010-03-14T01:45:59.893 に答える