JAVA·多线程:创建线程的两种方式
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·多线程:创建线程的两种方式的更多相关文章
- Java多线程——创建线程的两种方式
创建线程方式一:继承Thread类. 步骤:1,定义一个类继承Thread类.2,覆盖Thread类中的run方法.3,直接创建Thread的子类对象创建线程.4,调用start方法开启线程并调用线程 ...
- Java中创建线程的两种方式
创建线程的第一种方式: 创建一个类继承Thread 重写Thread中的run方法 (创建线程是为了执行任务 任务代码必须有存储位置,run方法就是任务代码的存储位置.) 创建子类对象,其实就是在创建 ...
- Java值创建线程的两种方式对比
在Java中创建线程的方式有两种,第一种是直接继承Thead类,另一种是实现Runable接口.那么这两种方式孰优孰劣呢? 采用继承Thead类实现多线程: 优势:编写简单,如果需要访问当前线程,只需 ...
- Java 多线程 创建线程的4种方式
1 继承Thread类,重写run方法.Thread类实现了Runnable接口. 2 实现Runnable接口,重写run方法.相比于继承Thread类,可以避免单继承的缺陷和实现资源共享. 举例: ...
- Java多线程-----创建线程的几种方式
1.继承Thread类创建线程 定义Thread类的子类,并重写该类的run()方法,该方法的方法体就是线程需要完成的任务,run()方法也称为线程执行体 创建Thread子类的实例,也就是创建 ...
- 【Java】创建线程对象两种方式
1.继承Thread类,重载run方法: Thread t = new Thread(new Runnable() { @Override public void run() { // TODO Au ...
- 【java并发】传统线程技术中创建线程的两种方式
传统的线程技术中有两种创建线程的方式:一是继承Thread类,并重写run()方法:二是实现Runnable接口,覆盖接口中的run()方法,并把Runnable接口的实现扔给Thread.这两种方式 ...
- Java并发基础01. 传统线程技术中创建线程的两种方式
传统的线程技术中有两种创建线程的方式:一是继承Thread类,并重写run()方法:二是实现Runnable接口,覆盖接口中的run()方法,并把Runnable接口的实现扔给Thread.这两种方式 ...
- 创建线程的两种方式比较Thread VS Runnable
1.首先来说说创建线程的两种方式 一种方式是继承Thread类,并重写run()方法 public class MyThread extends Thread{ @Override public vo ...
- 0036 Java学习笔记-多线程-创建线程的三种方式
创建线程 创建线程的三种方式: 继承java.lang.Thread 实现java.lang.Runnable接口 实现java.util.concurrent.Callable接口 所有的线程对象都 ...
随机推荐
- ubuntu设置环境变量
sudo gedit /etc/environment path结尾处追加 路径,如::/opt/EmbedSky/4.3.3/bin source /etc/environment,或者重启电脑?? ...
- MyBatis java and MySql local variables
<insert id="create" parameterType="models.entities.CategoryEntity"> set @c ...
- 程序员书单_java web编程篇
李兴华JavaWeb开发实战经典 http://download.csdn.net/detail/shenzhq1980/9137653 Servlet与JSP核心编程 第2版_1 http://do ...
- 【linux】输出重定向
“>”:把正确结果输出到一个文件 [root@andon ~]# ls > 1 [root@andon ~]# cat 1 1 anaconda-ks.cfg install.log in ...
- bzoj1015 星球大战
Description 很久以前,在一个遥远的星系,一个黑暗的帝国靠着它的超级武器统治者整个星系.某一天,凭着一个偶然的机遇,一支反抗军摧毁了帝国的超级武器,并攻下了星系中几乎所有的星球.这些星球通过 ...
- PHP转换UTF-8和GB2312的URL编码(转)
目前WEB的应用中, UTF-8编码和GB2312编码是并存在的,例如百度(baidu.com)和谷歌(google.com)的URL编码分别是GB2312编码和UTF-8编码.由于编码并存引起的乱码 ...
- Synchronizing with Remote Repositories
Synchronizing the states of local and remote repositories consists of pulling from and pushing to th ...
- freemarker解析模板报错问题
在确定模板文件代码无误的情况下,导致报错的原因大概有以下原因: 模板文件编码改变了(比如eclipse中的项目部署到tomcat下,而忘记设置tomcat编码就会导致读取模板文件编码不正确,导致程序解 ...
- Hadoop系统架构
一.Hadoop系统架构图 Hadoop1.0与hadoop2.0架构对比图 YARN架构: ResourceManager –处理客户端请求 –启动/监控ApplicationMaster –监控N ...
- GL_GL系列 - 多币种管理分析(案例)
2014-07-08 Created By BaoXinjian