Java基础学习笔记(十)线程的创建总结
今天只学习了线程的概念和创建,所以总结一下线程的创建:
线程的创建有两种方法:
通过Runnable接口创建线程:
在java.lang中的Runnable接口的定义为:
public interface Runnable{
void run();
}
使用这种方式创建线程的步骤是:
1、定义一个实现Runnable接口的类,在该类中提供run()方法的实现。
2、把Runnable的一个实例作为参数传递给Thread类的一个构造方法,该实例对像提供线程体run();
这种方法创建的例子:
public class ThreadTest{
public static void main(String[] args){
Thread t1 = new Thread(new Hello());
Thread t2 = new Thread(new Hello());
t1.start();
t2.start();
}
}
class Hello implements Runnable{
int i;
public void run(){
while(true){
System.out.println("Hello " + i++);
if(i == 5){
break;
}
}
}
}
public static void main(String[] args){
Thread t1 = new Thread(new Hello());
Thread t2 = new Thread(new Hello());
t1.start();
t2.start();
}
}
class Hello implements Runnable{
int i;
public void run(){
while(true){
System.out.println("Hello " + i++);
if(i == 5){
break;
}
}
}
}
通过Thread类创建线程:
在java.lang中Thread类的申明如下:
public class Thread extends Object implements Runnable
因此Thread类本身实现了Runnable接口,在Thread类的定义中可以发现run()方法。
使用这种方式创建线程的步骤是:
1、从Thread类派生子类,并重写其中的run()方法定义线程体。
2、创建该子类的对象创建线程。
例子:
public class ThreadTest1{
public static void main(String[] args){
Thread t1 = new Thread(new Hello());
Thread t2 = new Thread(new Hello());
t1.start();
t2.start();
}
}
class Hello extends Thread{
int i;
public void run(){
while(true){
System.out.println("Hello " + i++);
if(i == 5){
break;
}
}
}
}
public static void main(String[] args){
Thread t1 = new Thread(new Hello());
Thread t2 = new Thread(new Hello());
t1.start();
t2.start();
}
}
class Hello extends Thread{
int i;
public void run(){
while(true){
System.out.println("Hello " + i++);
if(i == 5){
break;
}
}
}
}