一共有两种方法Thread类和Runnable接口,相对来讲,更趋向于用Runnable
因为一个类可以实现多个接口,但是只能继承一个类,所以相对来说倾向用Runnable
第一种方法:用Thread
其实就是对父类Thread的继承和重写里面的方法
基本的思路还是java的继承多态思想
首先就是自己写一个类,继承Thread类,并重写run()方法
然后在调用函数中实现自己写的类,调用star()方法
注:调用start()方法实现多线程,调用run()方法,是单线程的
public class FirstThread extends Thread{ public void run(){ for(int i=1;i<100;i++){ System.out.println("first Thread——>"+i); } } }
public class main { public static void main(String[] args) { FirstThread ft=new FirstThread(); ft.start(); for(int i=0;i<100;i++){ System.out.println("main——>"+i); } } }
第二种方法:用Runnable
其实就是对接口Runnable的实现
首先实现自己写的类,
然后生成Thread对象,并将接口对象作为参数
最后开始线程
注:调用start()方法实现多线程,调用run()方法,是单线程的
public class runable implements Runnable { @Override public void run() { for(int i=1;i<100;i++){ System.out.println("first Runnable——>"+i); } } }
public class main { public static void main(String[] args) { //实现接口 runable ra=new runable(); //生成Thread对象,并将接口对象作为参数 Thread t=new Thread(ra); //开始多线程 t.start(); for(int i=0;i<100;i++){ System.out.println("main——>"+i); } } }