aspose file tools
The moose likes Threads and Synchronization and the fly likes Thread scheduler Big Moose Saloon
  Search | Java FAQ | Recent Topics
Register / Login
JavaRanch » Java Forums » Java » Threads and Synchronization
Reply Bookmark "Thread scheduler " Watch "Thread scheduler " New topic
Author

Thread scheduler

abalfazl hossein
Ranch Hand

Joined: Sep 06, 2007
Posts: 547
# most operating systems use one of two scheduling methods

1. Preemptive scheduling
2. Time slicing

# In preemptive scheduling the highest priority thread continues to run until it dies, waits, or is preempted by a thread of higher priority
# In time slicing a thread runs for a specific time and then enters the runnable state; at which point the scheduler decides wether to return to the thread or schedule a different thread (method used by Win95/NT)


Preemptive Scheduling.
Ways for a thread to leave running state -
· It can cease to be ready to execute (by calling a blocking i/o method)
· It can get pre-empted by a high-priority thread, which becomes ready to execute.
· It can explicitly call a thread-scheduling method such as wait or suspend.

· Solaris JVM’s are pre-emptive.
· Windows JVM’s were pre-emptive until Java 1.0.2

Time-sliced or Round Robin Scheduling

· A thread is only allowed to execute for a certain amount of time. After that, it has to contend for the CPU (virtual CPU, JVM) time with other threads.
· This prevents a high-priority thread mono-policing the CPU.
· The drawback with this scheduling is - it creates a non-deterministic system - at any point in time, you cannot tell which thread is running and how long it may continue to run.

· Mactinosh JVM’s
· Windows JVM’s after Java 1.0.2


Thread scheduler is part of JVM or OS?
Henry Wong
author
Sheriff

Joined: Sep 28, 2004
Posts: 14606

abalfazl hossein wrote:
Thread scheduler is part of JVM or OS?


With all modern JVMs, the scheduler is part of the underlying thread system; which means that it is part of one of the system libraries, and / or part of the OS.

Henry


Books: Java Threads, 3rd Edition, Jini in a Nutshell, and Java Gems (contributor)
abalfazl hossein
Ranch Hand

Joined: Sep 06, 2007
Posts: 547
Excuse me ,But your answer make me more confuse,

Please explain more.
Paul Clapham
Bartender

Joined: Oct 14, 2005
Posts: 13842

abalfazl hossein wrote:Please explain more.


I think you rather want "explain less". The answer is: the thread scheduler is not part of the JVM.
Henry Wong
author
Sheriff

Joined: Sep 28, 2004
Posts: 14606

Paul Clapham wrote:
I think you rather want "explain less". The answer is: the thread scheduler is not part of the JVM.


Agreed. Straightforward question... that can get overly complicated with concepts like "user space" and "kernel space", and "shared objects" and "DLLs", etc.

Henry
 
 
subject: Thread scheduler
 
Threads others viewed
Thread priority for main and worker thread
FOR BARTENDERS
threads and priority - guarenteed?
Pre emptive/time slicing
thread's
IntelliJ Java IDE