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. 图解SQL的各种连接join[转]

    对于SQL的Join,在学习起来可能是比较乱的.我们知道,SQL的Join语法有很多inner的,有outer的,有left的,有时候,对于Select出来的结果集是什么样子有点不是很清楚.Codin ...

  2. openstack(liberty): devstack之stack.sh分析

    学习openstack,从devstack入手,是个不错的选择.devstack中,首先需要分析stack.sh都做了些什么! 这里面涉及到了很多shell的基础知识.我就做个简单的梳理,方便后续查阅 ...

  3. Oracle维护常用SQL

    --查询表空间.表空间大小及表空间对应物理路径 select a.tablespace_name,b.file_name,a.block_size,a.block_size,b.bytes/1024 ...

  4. DecimalFormat--格式化十进制数字

    java.text.Format                 java.text.DateFormat                                 java.text.Simp ...

  5. discuz!3 二次开发C#学者

    PHP入门,从搞数据库开始: 大致看了以下PHP还是很简单的 比如链接数据库,就这么几行,比asp.net简单的多,就是需要自己搞数据的显示,需要精通HTML和代码生成技术: <?php $co ...

  6. Nexus私服使Maven更加强大

    前边简单介绍了Maven,而Maven默认提供的中央仓库是在远程网络服务Appache提供的,这对于我们开发时不合理的.如果我们没网了或者什么情况,我们怎么办?也就是说我们队中央仓库的依赖性太大.而N ...

  7. bzoj1760 [Baltic2009]Triangulation

    给定一个多边形的三角剖分(n<=1e5),且每个三角形有其颜色,问最多可以把这个三角剖分分成几个联通的部分,使任何一种颜色不出现在多个连通块中 建出三角剖分对应的树,同种颜色的点之间的路径是不能 ...

  8. linux中cat、more、less命令区别详解

    众所周知linux中命令cat.more.less均可用来查看文件内容,主要区别有:cat是一次性显示整个文件的内容,还可以将多个文件连接起来显示,它常与重定向符号配合使用,适用于文件内容少的情况:m ...

  9. 从IT匹配业务如何走向IT引领业务

    http://mp.weixin.qq.com/s?__biz=MjM5Njk2Mzg0MQ==&mid=200105892&idx=1&sn=cd9c155d09e8b975 ...

  10. oracle学习笔记(一)配置监听

    服务器端: 监听器   lsnrctl 启动监听 lsnrctl start [LISTENER] 查看监听 lsnrctl  status  或者  lsnrctl  service C:\Docu ...