java 多线程

      利用Java语言实现多线程应用程序的方法很简单。根据多线程应用程序继承或实现对象的不同可以采用两种方式:一种是应用程序的并发运行对象直接继承Java的线程类Thread;另外一种方式是定义并发执行对象实现Runnable接口。


一、继承Thread类的多线程程序设计方法
    Thread 类是JDK中定义的用于控制线程对象的类,在该类中封装了用于进行线程控制的方法。
public class Consumer extends Thread {
	int nTime;
	String strConsumer;

	public Consumer(int nTime, String strConsumer) {
		this.nTime = nTime;
		this.strConsumer = strConsumer;
	}

	public void run() {
		while (true) {
			try {
				System.out.println("Consumer name:" + strConsumer + "\n");
				Thread.sleep(nTime);
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
	}

	 static public void main(String args[]) {
		Consumer aConsumer = new Consumer(1000, "aConsumer");
		aConsumer.start();
		Consumer bConsumer = new Consumer(2000, "bConsumer");
		bConsumer.start();
		Consumer cConsumer = new Consumer(3000, "cConsumer ");
		cConsumer.start();
	}

}


二、实现Runnable接口的多线程程序设计方法
   Java语言中提供的另外一种实现多线程应用程序的方法是多线程对象实现Runnable接口并且在该类中定义用于启动线程的run方法。这种定义方式的好处在于多线程应用对象可以继承其它对象而不是必须继承Thread类,从而能够增加类定义的逻辑性。
class Consumer implements Runnable{
         int nTime;
	String strConsumer;

	public Consumer(int nTime, String strConsumer) {
		this.nTime = nTime;
		this.strConsumer = strConsumer;
	}

public void run(){
  while (true) {
			try {
				System.out.println("Consumer name:" + strConsumer + "\n");
				Thread.sleep(nTime);
			} catch (Exception e) {
				e.printStackTrace();
			}
		}

}
static public void main(String args[]){
  Thread aConsumer = new Thread(new Consumer(1000, "aConsumer"));
  aConsumer.start();
//其它对象实例的运行线程
	  		Consumer bConsumer = new Consumer(2000, "bConsumer");
		bConsumer.start();
		Consumer cConsumer = new Consumer(3000, "cConsumer ");
		cConsumer.start();
   }
}



详细参照: http://industry.ccidnet.com/art/299/20020822/23179_1.html

你可能感兴趣的:(java,jdk,thread,多线程,html)