⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 multithreaddemo1.java

📁 java程序设计语言源代码
💻 JAVA
字号:
//Example 1 of Chapter 8

import java.awt.*;
import javax.swing.*;

public class MultiThreadDemo1 extends JFrame
{
	private ScrollPane scrollPane;
	private JTextArea area;
	
	public MultiThreadDemo1()
	{
		super( "多线程输出演示" );
		getContentPane().setLayout( new BorderLayout() );
		scrollPane = new ScrollPane();
		area = new JTextArea();
		area.setEditable( false );
		scrollPane.add( area );
		getContentPane().add( scrollPane, BorderLayout.CENTER );
		
		OutputThread no1 = new OutputThread( "Number1" );
		OutputThread no2 = new OutputThread( "Number2" );
		OutputThread no3 = new OutputThread( "Number3" );
		
		area.append( "主程序启动\n" );
		
		no1.start();
		no2.start();
		no3.start();
		
		area.append( "主程序结束\n" );
		
		setSize( 300, 240 );
		setVisible( true );
	}
	
	public static void main(String[] args)
	{
		MultiThreadDemo1 demo = new MultiThreadDemo1();
		demo.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
	}
	
	private class OutputThread extends Thread
	{
		private int sleepTime;
		
		public OutputThread( String name )
		{
			super( name );
		}
		
		public void run()
		{
			try {
				sleepTime = ( int ) ( Math.random() * 2000 );
				area.append( getName() + ":即将休眠" + sleepTime + "毫秒\n" );
				Thread.sleep( sleepTime );
				sleepTime = ( int ) ( Math.random() * 2000 );
				area.append( getName() + ":即将再次休眠" + sleepTime + "毫秒\n" );
				Thread.sleep( sleepTime );
			}
			catch ( InterruptedException exception )
			{
				exception.printStackTrace();
			}
			area.append( getName() + ":结束运行\n" );
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -