1.–扩展java.lang.Thread类

package multiThread;

public class Thread02extThread {

    public static void main(String[] args) {
BoilThread boilThread = new BoilThread();
boilThread.start();
WashThread washThread = new WashThread();
washThread.start();
}
} class BoilThread extends Thread { // 烧开水的线程
public void run() {
Thread tMain = Thread.currentThread();
System.out.println("当前运行的线程是:" + tMain); // 假设烧水需要10秒
try {
System.out.println("开始烧水...");
Thread.sleep(10000);
System.out.println("水烧开了。");
} catch (InterruptedException e) {
e.printStackTrace();
}
}
} class WashThread extends Thread { // 洗茶杯的线程
public void run() {
Thread tMain = Thread.currentThread();
System.out.println("当前运行的线程是:" + tMain);
try {
for (int i = 1; i <= 5; i++) { // 洗5个茶杯
System.out.print("开始洗第" + i + "个茶杯...");
Thread.sleep(1500); // 假设每洗一个茶杯需要1.5秒
System.out.println("第" + i + "个茶杯洗干净。");
}
} catch (InterruptedException ie) {
ie.printStackTrace();
}
}
}

2.–实现java.lang.Runnable接口

package multiThread;
public class Thread0302impRunable { public static void main(String[] args) {
降龙掌 r = new 降龙掌();
Thread t1 = new Thread(r);
t1.start();
Thread t2 = new Thread(r);
t2.start();
Thread t3 = new Thread(r);
t3.start();
}
} class Kongfu {
public void Fight() {
System.out.println("打人");
}
} class 降龙掌 extends Kongfu implements Runnable{
@Override
public void run() {
super.Fight();
System.out.println("亢龙有悔");
} }

JAVA·多线程:创建线程的两种方式的更多相关文章

  1. Java多线程——创建线程的两种方式

    创建线程方式一:继承Thread类. 步骤:1,定义一个类继承Thread类.2,覆盖Thread类中的run方法.3,直接创建Thread的子类对象创建线程.4,调用start方法开启线程并调用线程 ...

  2. Java中创建线程的两种方式

    创建线程的第一种方式: 创建一个类继承Thread 重写Thread中的run方法 (创建线程是为了执行任务 任务代码必须有存储位置,run方法就是任务代码的存储位置.) 创建子类对象,其实就是在创建 ...

  3. Java值创建线程的两种方式对比

    在Java中创建线程的方式有两种,第一种是直接继承Thead类,另一种是实现Runable接口.那么这两种方式孰优孰劣呢? 采用继承Thead类实现多线程: 优势:编写简单,如果需要访问当前线程,只需 ...

  4. Java 多线程 创建线程的4种方式

    1 继承Thread类,重写run方法.Thread类实现了Runnable接口. 2 实现Runnable接口,重写run方法.相比于继承Thread类,可以避免单继承的缺陷和实现资源共享. 举例: ...

  5. Java多线程-----创建线程的几种方式

       1.继承Thread类创建线程 定义Thread类的子类,并重写该类的run()方法,该方法的方法体就是线程需要完成的任务,run()方法也称为线程执行体 创建Thread子类的实例,也就是创建 ...

  6. 【Java】创建线程对象两种方式

    1.继承Thread类,重载run方法: Thread t = new Thread(new Runnable() { @Override public void run() { // TODO Au ...

  7. 【java并发】传统线程技术中创建线程的两种方式

    传统的线程技术中有两种创建线程的方式:一是继承Thread类,并重写run()方法:二是实现Runnable接口,覆盖接口中的run()方法,并把Runnable接口的实现扔给Thread.这两种方式 ...

  8. Java并发基础01. 传统线程技术中创建线程的两种方式

    传统的线程技术中有两种创建线程的方式:一是继承Thread类,并重写run()方法:二是实现Runnable接口,覆盖接口中的run()方法,并把Runnable接口的实现扔给Thread.这两种方式 ...

  9. 创建线程的两种方式比较Thread VS Runnable

    1.首先来说说创建线程的两种方式 一种方式是继承Thread类,并重写run()方法 public class MyThread extends Thread{ @Override public vo ...

  10. 0036 Java学习笔记-多线程-创建线程的三种方式

    创建线程 创建线程的三种方式: 继承java.lang.Thread 实现java.lang.Runnable接口 实现java.util.concurrent.Callable接口 所有的线程对象都 ...

随机推荐

  1. HTML5 javascript修改canvas的大小

    方法1: 设定固定的值,这种方式跟在html中设定canvas的值没有什么区别: window.onload = function(){ canvas.height = 100; canvas.wid ...

  2. HTML 元素

    HTML 文档是由 HTML 元素定义的. HTML 元素 HTML 元素指的是从开始标签(start tag)到结束标签(end tag)的所有代码. 开始标签 元素内容 结束标签 <p> ...

  3. Matlab 计算大数的阶乘

    http://hi.baidu.com/dreamflyman/item/11e920165596280fd0d66d9f >> syms k;>> kfac=sym('k!' ...

  4. visibility和display的区别

    大多数人很容易将CSS属性display和visibility混淆,它们看似没有什么不同,其实它们的差别却是很大的. visibility属性用来确定元素是显示还是隐藏的,这用visibility=& ...

  5. Puppet master/agent installation on RHEL7

    ==================================================================================================== ...

  6. \r\n的坑

    \r回车符 \n换行符 由于历史原因,windows下的换行符为\r\n linux或者html等开源或公开标准的换行符是\n ---- 为什么windows下的回车换行是\r\n? 第一台打印机,每 ...

  7. Maven使用-- 编写POM

        就像Make的Makefile.Ant的build.xml一样,Maven项目的核心是pom.xml. POM(Project Object Model,项目对象模型)定义了项目的基本信息,用 ...

  8. DBA_Oracle Erp R12安装虚拟机镜像IP修正(案例)

    2014-07-12 Created By BaoXinjian

  9. BIP_开发案例01_BI Publisher报表手工提交和控制(案例)

    2014-12-27 Created By BaoXinjian

  10. HDU Count the string+Next数组测试函数

    链接:http://www.cnblogs.com/jackge/archive/2013/04/20/3032942.html 题意:给定一字符串,求它所有的前缀出现的次数的和.这题很纠结,一开始不 ...