Java多线程继承Thread类详解
更新时间:2016年06月19日 15:46:59 投稿:hebedich
Java多线程的两种实现方式:继承Thread类 & 实现Runable接口,今天我们来学习下继承Thread类,希望大家能够喜欢
同样给大家分享下网友的实例
package JavaThread;class firstThread extends Thread{ private String name = null; public firstThread(String str) { this.name = str; } public void run() { for(int i=1;i<=3;i++) { System.out.println("线程"+this.name+"第"+i +"执行"); try { Thread.sleep(50); } catch (InterruptedException e) { e.printStackTrace(); } } }}class secondThread extends Thread{ private String name = null; public secondThread(String s) { this.name = s; } public void run() { for(int i=1;i<=3;i++) { System.out.println("线程"+this.name+"第"+i +"执行"); try { Thread.sleep(50); Thread.yield(); } catch (InterruptedException e) { e.printStackTrace(); } } }}public class TestThread{ public static void main(String[] args) { firstThread p = new firstThread("first"); secondThread pth = new secondThread("second"); p.setPriority(4); pth.setPriority(9); p.start(); pth.start(); }}
简单讲下继承Thread类
步骤:
a,定义类继承Thread类。
b,覆盖Thread类中的run方法,将需要被多线程执行的代码定义到该run方法当中。
c,建立Thread类的子类创建线程对象。
d,调用start方法,开启线程并调用该线程的run方法。
下面有个示例来让你直观的了解怎么用继承Thread类的方式来创建线程。
/* * 示例:创建三个线程,每过2秒打印一下线程的名称,打印三次 */ public class Thread1 extends Thread{ private final int MAX = 3;//最大打印次数 private int COUNT = 1;//计数 private final int TIME = 2;//间隔时间 //接收线程名称 public Thread1(String name) { super(name); } //覆盖run方法,在里面写我们要执行的代码 public void run() { while(COUNT<= MAX){ System.out.println(this.getName()); COUNT++; //每次打印后,在一段时间后再打印 try { Thread.sleep(TIME*1000); } catch (InterruptedException e) { e.printStackTrace(); } } } public static void main(String[] args) { Thread1 t1 = new Thread1("线程1");//创建线程 Thread1 t2 = new Thread1("线程2"); Thread1 t3 = new Thread1("线程3"); t1.start(); //开启线程 t2.start(); t3.start(); //也可以使用下面这种方式书写 //new Thread1("线程4").start(); } }
相关文章
Spring Boot整合Spring Cache及Redis过程解析
这篇文章主要介绍了Spring Boot整合Spring Cache及Redis过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2019-12-12
最新评论