/ / Androidでは、ユーザーが停止するまでスレッドを実行し続ける方法は? - java、android、マルチスレッド

Androidでは、ユーザーが停止するまでスレッドを実行し続ける方法は? - java、android、マルチスレッド

ご清聴ありがとうございました。

ここにシナリオがあります: 私の活動は、単純なシミュレーション(複数のAIを1つずつ繰り返して行うゲーム)を何度もやり、ユーザーがボタンを押すまでそれを続けます。得られたデータは、AIをより良くするために使用されています(私はすでにこの部分をコーディングしており、動作しているようです)。

どのくらい多くのゲームが既にプレイされたかといった基本的な情報をアクティビティに表示したい。

私はAndroidとJavaの開発には全く新しいものです。 私はシミュレーションを行うために別のスレッドを使わなければならないことを知っていますが、今まで別々のスレッドを使用したことがないので、どのように処理するのか分かりません。何が私を悩ませているのですか?新しいスレッドは、開始されたクラスのパブリックメソッドと変数にアクセスできますか?もしそうなら、どうですか?

私は公式のAndroidデベロッパーWebサイトのスレッドに関するドキュメントを既に読んでいます。

回答:

回答№1は0

クラスのインスタンスはどのスレッドにも束縛されていませんそれを作成したメインのスレッドなど)。 クラス内のメソッド内で作成されたスレッドは、そのクラスのプライベートメンバーにアクセスできます。パブリックメンバーは、クリエイターから与えられたインスタンスであっても、パブリックメソッドから取得することもできます(スタティックやアプリケーションコンテキストなど)。

だからマルチスレッドでは、次のように注意する必要があります。同時に2つのスレッドが同じメソッドと変数にアクセスすることができます。どのスレッドが最初にアクセスするのかは決して確認できません。一番安全な方法は、ただ一つのスレッドが読み込んだ変数や他のスレッドに「書き込む」ように設計することです。