# Start Thread Execution

**1) start():**

Calling start() on a Thread instance creates a new thread of execution, which exe- cutes run(). **You can call start() on a thread that’s in the NEW state**. Calling start() from any other thread state will throw an IllegalThreadStateException:

![](https://3494582050-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LSemf7mp1liQa7nfIAC%2F-LTwwsO1SvJT9ZGzuGlS%2F-LTxDGugh3XwN4R6o9w8%2FScreen%20Shot%202018-12-17%20at%2011.01.05%20PM.png?alt=media\&token=06a9a414-e464-46b7-ab04-34f0d91190de)

![](https://3494582050-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LSemf7mp1liQa7nfIAC%2F-LTwwsO1SvJT9ZGzuGlS%2F-LTxDJONGBF4hQvIGor_%2FScreen%20Shot%202018-12-17%20at%2011.01.18%20PM.png?alt=media\&token=59bbc4a7-e092-4696-83e5-f24f5504367b)

![](https://3494582050-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LSemf7mp1liQa7nfIAC%2F-LTwwsO1SvJT9ZGzuGlS%2F-LTxDlRMCyBqK-ryi1cy%2FScreen%20Shot%202018-12-17%20at%2011.03.28%20PM.png?alt=media\&token=ecb9ea1c-f2f9-42c0-93ea-8d5a5df6c313)

Calling run() on a Thread instance doesn’t start a new thread of execution. The run() continues to execute in the same thread.

#### Problem:

![](https://3494582050-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LSemf7mp1liQa7nfIAC%2F-LTwwsO1SvJT9ZGzuGlS%2F-LTxGRlTXldpAAhwMbo5%2FScreen%20Shot%202018-12-17%20at%2011.14.55%20PM.png?alt=media\&token=80833906-3704-49e4-92d1-60a3d13b3382)

![](https://3494582050-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LSemf7mp1liQa7nfIAC%2F-LTwwsO1SvJT9ZGzuGlS%2F-LTxGdx_04KnEp8pFMsK%2FScreen%20Shot%202018-12-17%20at%2011.16.04%20PM.png?alt=media\&token=df4d0288-0efe-4c7f-be78-d70d92083286)

###
