java多线程基础1

关键词:Runnable,Thread,start,run等等。
创建一个线程的两种方式:
一是继承Thread类
package org.iteye.bbjava.mutilthread;

public class MainThread extends Thread{
	Integer maxInt=0;
	
	public void run(){
//		maxInt=new Integer("123");
		while(maxInt<1000){
			maxInt++;
			if(maxInt%6==0)
//				try {
//					Thread.sleep(10);
//				} catch (InterruptedException e) {
//					// TODO Auto-generated catch block
//					e.printStackTrace();
//				}
			System.out.println(maxInt);	
		}

//		System.out.println(maxInt.MAX_VALUE);System.out.println(maxInt);
//		System.out.println(maxInt.MIN_VALUE);
	}
	
	public static void main(String []args){
		Thread aTread=new MainThread();
		Thread at=new Thread(new AnotherThread());
		aTread.start();
		at.start();
	}
}

二是实现Runnable接口:
package org.iteye.bbjava.mutilthread;

public class AnotherThread implements Runnable{

	@Override
	public void run() {
		int i=0;
		while(i<1000){
			i++;
			if(i%5==0)
//				try {
//					//Thread.sleep(10);
//				} catch (InterruptedException e) {
//					// TODO Auto-generated catch block
//					e.printStackTrace();
//				}
			System.out.println("what should I do?");}
	}
}


没错,java中创建线程就是这么简单,注意:启动线程是start()方法。有些新手可能会犯这个的错误:
引用
Thread aTread=new MainThread();
aThread.run();//这不是启动线程的"钥匙"。

还有就是实现Runnable接口的线程是这样子启动的:
引用
Thread at=new Thread(new AnotherThread());
at.start();

引用
tij-4的作者觉得把Thread改名字为Task更为合适。



为什么有了第一种方式,还要有第二种方式呢?

java里面是没有多继承的,但它可以实现多个接口。比如说你用继承的方式创建线程会碰到这种麻烦,一些特殊要求一定要继承一个基类,这下麻烦了;所以你有第二个选择,那就是采用实现Runnable方式创建线程,现在可以继承那个基类了。

你可能感兴趣的:(多线程,并发)