- It is a part of JVM.
- It is responsible to schedule threads i.e. if multiple threads are waiting to get the chance of execution then in which order threads will be executed is decided by Thread scheduler.
- We can’t expect thread execution error and exact output since, thread scheduler varies from JVM TO JVM.