|
|
JAVA, JSP, SERVLETS, TOMCAT, SERVLETS MANAGER,
Private JVM (Java Virtual Machine),
Private Tomcat Server
Alden Hosting offers private JVM (Java Virtual Machine), Java Server Pages (JSP), Servlets, and Servlets Manager with our Web Hosting Plans
WEB 4 PLAN and
WEB 5 PLAN ,
WEB 6 PLAN .
At Alden Hosting we eat and breathe Java! We are the industry leader in providing
affordable, quality and efficient Java web hosting in the shared hosting marketplace.
All our sites run on our Java hosing platform configured for
optimum performance using Java 1.6, Tomcat 6.0.X, MySQL 5.0.x, Apache 2.2.xx and web
application frameworks such as Struts, Hibernate, Cocoon, Ant, etc.
We offer only one type of Java hosting - Private Tomcat. Hosting accounts on the Private
Tomcat environment get their very own Tomcat server. You can start and re-start
your entire Tomcat server yourself.
Interrupts (The Java™ Tutorials >
Essential Classes > Concurrency)
Home Page
>
Essential Classes
>
Concurrency
Interrupts
An interrupt is an indication to a thread that it should stop what
it is doing and do something else. It's up to the programmer to
decide exactly how a thread responds to an interrupt, but it is very
common for the thread to terminate. This is the usage emphasized in
this lesson.
A thread sends an interrupt by invoking
interrupt
on the Thread object for the thread to be interrupted.
For the interrupt mechanism to work correctly, the interrupted thread
must support its own interruption.
Supporting Interruption
How does a thread support its own interruption? This depends on
what it's currently doing. If the thread is frequently invoking
methods that throw InterruptedException, it simply
returns from the run method after it catches that
exception. For example, suppose the central message loop in the
SleepMessages example were in the run method
of a thread's Runnable object. Then it might be modified
as follows to support interrupts:
for (int i = 0; i < importantInfo.length; i++) {
//Pause for 4 seconds
try {
Thread.sleep(4000);
} catch (InterruptedException e) {
//We've been interrupted: no more messages.
return;
}
//Print a message
System.out.println(importantInfo[i]);
}
Many methods that throw InterruptedException, such as
sleep, are designed to cancel their current operation and
return immediately when an interrupt is received.
What if a thread goes a long time without invoking a method that
throws InterruptedException? Then it must periodically
invoke Thread.interrupted, which returns
true if an interrupt has been received. For example:
for (int i = 0; i < inputs.length; i++) {
heavyCrunch(inputs[i]);
if (Thread.interrupted()) {
//We've been interrupted: no more crunching.
return;
}
}
In this simple example, the code simply tests for the interrupt and
exits the thread if one has been received. In more complex
applications, it might make more sense to throw an
InterruptedException:
if (Thread.interrupted()) {
throw new InterruptedException();
}
This allows interrupt handling code to be centralized in a
catch clause.
The Interrupt Status Flag
The interrupt mechanism is implemented using an internal flag known as
the interrupt status. Invoking Thread.interrupt
sets this flag. When a thread checks for an interrupt by invoking the
static method Thread.interrupted, interrupt status is
cleared. The non-static Thread.isInterrupted, which is
used by one thread to query the interrupt status of another, does not
change the interrupt status flag.
By convention, any method that exits by throwing an
InterruptedException clears interrupt status when it does
so. However, it's always possible that interrupt status will
immediately be set again, by another thread invoking
interrupt.
JAVA, JSP, SERVLETS, TOMCAT, SERVLETS MANAGER,
Private JVM (Java Virtual Machine),
Private Tomcat Server
Alden Hosting offers private JVM (Java Virtual Machine), Java Server Pages (JSP), Servlets, and Servlets Manager with our Web Hosting Plans
WEB 4 PLAN and
WEB 5 PLAN ,
WEB 6 PLAN .
At Alden Hosting we eat and breathe Java! We are the industry leader in providing
affordable, quality and efficient Java web hosting in the shared hosting marketplace.
All our sites run on our Java hosing platform configured for
optimum performance using Java 1.6, Tomcat 6.0.X, MySQL 5.0.x, Apache 2.2.xx and web
application frameworks such as Struts, Hibernate, Cocoon, Ant, etc.
We offer only one type of Java hosting - Private Tomcat. Hosting accounts on the Private
Tomcat environment get their very own Tomcat server. You can start and re-start
your entire Tomcat server yourself.
|