In Pre-emptive scheduling, the highest priority task will keep getting
time to execute until it goes to waiting state or dead state or a task
with higher priority comes into queue for scheduling.
In Time slicing scheduling, every task gets a predefined slice of
time for execution, and then it goes to the pool of tasks ready for
execution. The scheduler picks up the next task for execution, based
on priority and various other factors.
https://www.careerride.com/Java-difference-preemptive-scheduling-time-slicing.aspx