0

Runメソッドの使い方が分からない

最初の1つ

new Thread(new Runnable() {
@Override
public void run() {
switch case //Here
}
}).start();

二つ目

Switch(id){
case :
    new Thread(new Runnable() {
    @Override
    public void run() {

    }
    }).start();

break
}

プログラムで使用するのに最適なものはどれですか。

4

5 に答える 5

2

それはあなたが何をしようとしているのかによります。スレッドに何かを投稿すると、将来のある時点で実行されます。

最初のケースでは、switch case ステートメントはスレッドが実行されるまで実行されません。

2 番目のケースでは、case ステートメントが true でない限り、スレッドは実行されません。

それらは単なる異なる論理フローであり、どちらが「より良い」と見なすことができるかわかりません.

于 2012-07-07T17:27:41.373 に答える
0

これを試して...

1. Run は Runnable インターフェイスに存在する唯一のメソッドであり、Runnable を実装するクラスに実装する必要があります。

2.コード内で、Runnable インターフェイスを実装する Anonymous クラスを使用しています。

3.最初の例では、switch ケースを実行するには、スレッドを実行する必要があります。

4. 2 番目の例では、スイッチ ケースの特定のケースを実行して、スレッドを実行できるようにする必要があります。

于 2012-07-07T18:19:19.907 に答える
0

ケース条件が真の場合にのみスレッドが実行され、アプリケーションのメモリに大きな影響を与えないため、2 番目のケースが最適です。

Android アプリケーションのスレッドが多すぎると、メモリに影響します。

于 2012-07-07T17:51:53.427 に答える
0

上記の2つの違いは何ですか??

最初の問題:スレッドは実行されますが、ケースの下のプログラミング ロジックは、ケースに基づいて実行される場合と実行されない場合があります。

2 番目の問題:ケースが true の場合 のみ、スレッドが実行されます。

したがって、両方のシナリオがまったく異なることは明らかです。

あなたはどちらを使いますか??

要件によって異なります。必要なロジックを使用してください。それはあなた次第です。

于 2012-07-07T19:40:47.107 に答える
0

私はあまり変更しません (少なくとも各ケースに break ステートメントがある場合)。

各ソリューションでは、switch ステートメントの 1 つのケースのみが新しいスレッドで実行されます。最も読みやすいと思われるものを使用してください。

スイッチの各ケースでスレッド作成コードを繰り返すと、ボイラープレート コードがさらに追加されます。一方、何もする必要がないデフォルトのケースがある場合は、何もしないために新しいスレッドを作成して開始する価値はありません。

于 2012-07-07T17:28:58.903 に答える