-2

runnable を実装する Java プログラムがあります。本体では、私は持っていてThread animator = new Thread();animator.start();問題はrun()私のプログラムのメソッドが実行されないことです。何か不足していますか?

4

2 に答える 2

2

あなたが言ったように、ランナブルを実装するJavaプログラム。

そのクラス(名前はアニメーターと言う)であなたが書いた体

Thread animator = new Thread();
animator.start();

私が間違っていなければ

実行可能なクラスのインスタンスを渡します。ここでは、thisスレッドの作成中にあると思います

Thread animator = new Thread(this);
animator.start();
于 2012-04-29T05:44:36.510 に答える
1

この方法で試すことができます

public class BackgroundActivity {

/**
 * Attempts to execute the user activity.
 * 
 * @return The thread on which the operations are executed.
 */
public Thread doWork() {
    final Runnable runnable = new Runnable() {
        public void run() {
            System.out.println("Background Task here");
        }
    };

    // run on background thread.
    return performOnBackgroundThread(runnable);
}

/**
 * Executes your requests on a separate thread.
 * 
 * @param runnable
 *            The runnable instance containing mOperations to be executed.
 */
private Thread performOnBackgroundThread(final Runnable runnable) {
    final Thread t = new Thread() {
        @Override
        public void run() {
            try {
                runnable.run();
            } finally {
            }
        }
    };
    t.start();
    return t;
}

}

最後に、メイン メソッドの doWork() メソッド

 /**
 * @param args
 */
public static void main(String[] args) {
    BackgroundActivity ba = new BackgroundActivity();
    Thread thread = ba.doWork();

    //You  can manages thread here
}

願っています、それはあなたを助けるでしょう。

于 2012-04-29T05:54:14.587 に答える