Java 在自定义线程类中执行可运行参数

Java 在自定义线程类中执行可运行参数,java,multithreading,android-handler,Java,Multithreading,Android Handler,我想在主线程中定义我的runnable,然后将其作为参数传递给另一个线程,如下所示- final Runnable runnable = new Runnable() { @Override public void run() { Log.i("Running runnable",""); } }; Handler handler = new Handler() {

我想在主线程中定义我的
runnable
,然后将其作为参数传递给另一个线程,如下所示-

final Runnable runnable = new Runnable() {
            @Override
            public void run() {

                Log.i("Running runnable","");
            }
        };

Handler handler = new Handler() {

    @Override
    public void handleMessage(Message msg) {
        super.handleMessage(msg);

        text.setText(msg.obj.toString());
    }
};

ThreadTest handlerThreadTest = new ThreadTest(runnable, handler);
                handlerThreadTest.start();
ThreadTest
类定义如下-

public class ThreadTest extends Thread {

private Handler handler;
private Runnable runnable;

public ThreadTest(Runnable runnable, Handler handler) {

    this.handler = handler;
    this.runnable = runnable;
}

@Override
public void run() {
    super.run();

    runnable.run();

    Message msg = handler.obtainMessage();
    msg.obj = "YUSSSSSS!";
    handler.sendMessage(msg);
} }
我可以将“yussss”消息发送给我的处理程序,但
runnable.run()
似乎无法工作,因为我在logcat中看不到任何内容


我哪里弄错了

Logcat倾向于删除空消息,在日志中添加一些字符,您可能会在“Running runnable”标签下看到一些内容

Log.i("RunnableImpl", "Running runnable");