In my program I am calling the thread to do some job but the other method of thread class executes before the run method.

```
public class Verify extends JFrame implements Runnable 
{
    long Local_cid;
    String local_path;
    static boolean isIntialised=false;
    JProgressBar bar;

    final static ArrayList<Long> ContactList=new ArrayList<>();
    final static ArrayList<Long> Scanned=new ArrayList<>();
    static boolean flag=true;
    static boolean Duplicate_flag=true;
    boolean[] flags=new boolean[6];

    public Verify(long ID,String path) 
    {
        Local_cid=ID;
        local_path=path;

    }

    public boolean[] Return_Flag()
    {

        System.err.println("Verify Id");
        return  flags;

    }

    public void dispose_Frame()
    {
        System.err.println("Executing First");
        dispose();
    }

    @Override
    public void run() 
    {
        System.err.println("This should Executed First");

    }

}

```

When I call this thread via start call the output is as follows:

> 
> Verify Id 
> 
> 
> Executing First
> 
> 
> This should Executed First
> 
> 
>