首页 > 代码库 > 线程-初步
线程-初步
一、java中线程的两种方式:
1.通过实现Runnable()接口;
2.通过继承Thread类来实现;
下面我们分别来实现这两种方式:
1.实现Runnable()接口
1 public class thd 2 { 3 public static void main(String args[]) 4 { 5 runner1 r1= new runner1(); 6 Thread td1 = new Thread(r1); td1.start();11 12 for(int i=0;i<10;i++)13 {14 System.out.println("Main() :"+i);15 }16 }17 }18 19 class runner1 implements Runnable20 {21 public void run()22 {23 for(int i=0;i<10;i++)24 {25 System.out.println("Runner1 :"+i);26 }27 }28 }29 30
这种方法使用较为普遍和广泛,因为从Thread类继承以后就不能从其他的类继承,而实现Runnable()接口的方式可以从其他类继承并且还可以实现其他接口.
接口的实现run()方法是线程体,需要将该类的对象传到Thread类对象当中;
2.通过Thread类继承的方式:
1 public class thd 2 { 3 public static void main(String args[]) 4 { 5 runner1 r1= new runner1(); 6 r1.start(); 7 8 for(int i=0;i<10;i++) 9 {10 System.out.println("Main() :"+i);11 }12 }13 }14 15 class runner1 extends Thread16 {17 public void run()18 {19 for(int i=0;i<10;i++)20 {21 System.out.println("Runner1 :"+i);22 }23 }24 }
能用Runnable()接口的方式就不要用这种方式。
二.线程中的方法:
1.join()将线程合并为一个线程,也就是和单线程调用函数结果一样
1 import java.util.*; 2 public class thd 3 { 4 public static void main(String args[]) 5 { 6 runner1 r1= new runner1(); 7 r1.start(); 8 try 9 {10 r1.join();11 }12 catch(InterruptedException e)13 {14 e.printStackTrace();15 }16 for(int i=0;i<5;i++)17 {18 System.out.println("Main "+i);19 }20 }21 }22 23 class runner1 extends Thread24 {25 public void run()26 {27 for(int i=0;i<5;i++)28 {29 System.out.println("Runner1 "+i);30 }31 }32 }
执行结果如下:
Runner1 0
Runner1 1
Runner1 2
Runner1 3
Runner1 4
Main 0
Main 1
Main 2
Main 3
Main 4
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。