[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: Thread.stop, suspend and resume deprecation in 1.2
It is very sensible of Sun to remove Thread.stop(), Thread.suspend(), and
Thread.resume(). These methods are dangerous to use and you don't need
them! With the CJT and JCSP libraries there are no dangerous methods such
as resume, suspend and stop! The CJT library only uses the Java monitor -
synchronized(this), wait(), and notify() - construct (I belief this is the
same for the JCSP library).
I wish they also remove the Thread.setPriority(i) and Thread.getPriority().
These methods make priorities in Java absolute; a thread (i.e. process
object) has priority 5 or 6. The programmer has a lot of responsibility to
take care of priorities. Relative priorities are much simpler; a process
has a lower priority than that process and a higher priority than this
process. This is where the PriParallel comes in. With the PriParallel a
process itself has no priority, but the thread executing the process has a
priority assigned by the PriParallel. These threads are encapsulated within
the Parallel and PriParallel objects.
At the moment we are developing a PriParallel construct which implements an
embedded scheduler. The PriParallel is a process itself and enables nesting
PriParallels. With a nested PriParallel construct you will have a scheduler
running within a scheduler. Each PriParallel supports 8 priorities, 7
priorities available for processes and the lowest priority is reserved for
the idle task, skip task, or for a "real-time" garbage collector task. Our
prototype PriParallel works for our simple test scripts. Now we are testing
the PriParallel for more complex compositions and we are implementing an
Interrupt Service Routine framework that simulates external interrupts to
our scheduler. The embedded scheduler is written in 100% Java and simulates
a context switch with suspend() and resume(). These methods are faster than
resp. wait() and notify(). The context switch method could be written in
native code for very fast context switching. For JDK 1.2 we have found a
workaround (which would decrease the context switch time a bit) to create a
context switch method without suspend() and resume() in Java.
Oyvind Teig wrote:
Thread.stop, Thread.suspend and Thread.resume will
be deprecated in 1.2
I believe the CSP libraries that have been written
at the moment depend on them at a very few places.
Oyvind Teig, Autronica, Trondheim, Norway
Tel.: +47 73 58 12 68
Fax.: +47 73 91 93 20