Execution of multiple threads on a single CPU in some order is called thread scheduling. It is done by thread scheduler.
In which order threads will execute in multithreading environment is determined by thread scheduler.
What is the difference between preemptive scheduling and time slicing?
In case of preemptive scheduling the highest priority task executes until it enters the waiting or dead states or a higher priority task comes into existence.
Time slicing: In case of time slicing a task executes for a predefined slice of time and then re-enters the pool of ready tasks. The scheduler then determines which task should execute next, based on priority and other factors.
Note: if run() method is called directly without calling start() method than program will execute without any error but objects are treated as normal objects not thread objects.
- Multithreading in java.
- Thread life cycle in java.
- Way of creating thread in java.
- Which is a better way to create a thread in java?
- Commonly used methods of Thread class.
- Difference between thread start and run method.
- Why we call start method in thread?
- Can we override start method?
- Can we override run method?
- Can we start a thread twice?
- Thread scheduling in java with example.
- Thread priority in java with example.
- Naming a thread in java with example.
- Joining a thread in java with example.
- How to get current thread in java?
- Daemon thread in java with example.
- Can we call run method directly?
- Difference between Thread.yield() and Thread.sleep() methods.
- Deadlock in java with example.
- Starvation in java with example.
- Inter-thread communication in java with example.
- Synchronization in java with example.
- Synchronized method in java with example.
- Static synchronization in java with example.
- Synchronized block in java with example.