разница между потоком и обработчиком

Может кто-нибудь сказать мне, почтение между потоком и обработчиком? Когда мы используем Thread и когда мы используем Handler?

У меня есть два кода в моем проекте, но я не могу их понять.

final Handler handler =  new Handler()
{
    @Override
    public void handleMessage(Message msg)
    {
        //  Do SomeThings
    } 
};

А также

private class readThread extends Thread
{
    Handler mHandler;

    readThread(Handler h){
        mHandler = h;
        this.setPriority(Thread.MIN_PRIORITY);

    }

    @Override
    public void run()
    {
        //  Do SomeThings
    }
}

И в другом методе вызовите обработчик, как это

read_thread = new readThread(handler);
            read_thread.start();

Какой из них запускается первым ?? Может кто-нибудь объяснить мне?

Ответы на вопрос(1)

Ваш ответ на вопрос