// Program demonstrates high priority threads
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Demo extends JFrame {
private HighThread high;
private LowThread low;
private JTextArea output;
public Demo()
{
super( "Demo" );
output = new JTextArea( 10, 20 );
getContentPane().add( output );
setSize( 250, 200 );
setVisible( true );
high = new HighThread( output );
high.start();
low = new LowThread( output );
low.start();
}
public static void main( String args[] )
{
Demo app = new Demo();
app.addWindowListener(
new WindowAdapter() {
public void windowClosing( WindowEvent e )
{
System.exit( 0 );
}
}
);
}
}
class HighThread extends Thread {
private JTextArea display;
public HighThread( JTextArea a )
{
display = a;
setPriority( Thread.MAX_PRIORITY );
}
public void run()
{
for ( int x = 1; x <= 5; x++ )
display.append( "High Priority Thread!!!\n" );
}
}
class LowThread extends Thread {
private JTextArea display;
public LowThread( JTextArea a )
{
display = a;
setPriority( Thread.MIN_PRIORITY );
}
public void run()
{
for ( int y = 1; y <= 5; y++ )
display.append( "Low Priority Thread!!!\n" );
}}
// Program demonstrates high priority threads
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Demo2 extends JFrame {
private HighThread high;
private LowThread low;
private JTextArea output;
public Demo2()
{
super( "Demo2" );
output = new JTextArea( 10, 20 );
getContentPane().add( output );
setSize( 250, 200 );
setVisible( true );
high = new HighThread( output );
high.start();
low = new LowThread( output );
low.start();
}
public static void main( String args[] )
{
Demo2 app = new Demo2();
app.addWindowListener(
new WindowAdapter() {
public void windowClosing( WindowEvent e )
{
System.exit( 0 );
}
}
);
}
}
class HighThread extends Thread {
private JTextArea display;
public HighThread( JTextArea a )
{
display = a;
setPriority( Thread.MAX_PRIORITY );
}
public void run()
{
for ( int x = 1; x <= 5; x++ ) {
try {
sleep( ( int ) ( Math.random() * 200 ) );
}
catch ( Exception e ) {
JOptionPane.showMessageDialog(
null, e.toString(), "Exception",
JOptionPane.ERROR_MESSAGE );
}
display.append( "High Priority Thread\n" );
}
}
}
class LowThread extends Thread {
private JTextArea display;
public LowThread( JTextArea a )
{
display = a;
setPriority( Thread.MIN_PRIORITY );
}
public void run()
{
for ( int y = 1; y <= 5; y++ )
display.append( "Low Priority Thread!!!\n" ); }}