1. You didn't provide enough info to definitively respond.
2. Threads are funny things. They are not guaranteed to immediately start just because you call start(). You should search for some tutorials on "concurrency" in java for techniques to schedule/coordinate threads in a deterministic manner.
subject: why thread run at end even than place at start in java?