线程创建的两种方式及区别
来源:互联网 发布:淘宝营销策略 编辑:程序博客网 时间:2024/04/29 22:12
1、扩展Thread类
2、实现Runnable接口
3.两者区别
采用继承Thread类方式:
(1)优点:编写简单,如果需要访问当前线程,无需使用Thread.currentThread()方法,直接使用this,即可获得当前线程。
(2)缺点:因为线程类已经继承了Thread类,所以不能再继承其他的父类。
采用实现Runnable接口方式:
(1)优点:
线程类只是实现了Runable接口,还可以继承其他的类。
可以多个线程共享同一个目标对象,所以非常适合多个相同线程来处理同一份资源的情况。
(2)缺点:编程稍微复杂,如果需要访问当前线程,必须使用Thread.currentThread()方法。
Runnable可以实现资源共享但Thread不能原因:
因为一个线程只能启动一次,通过Thread实现线程时,线程和线程所要执行的任务是捆绑在一起的。也就使得一个任务只能启动一个线程,不同的线程执行的任务是不相同的,所以没有必要,也不能让两个线程共享彼此任务中的资源。
一个任务可以启动多个线程,通过Runnable方式实现的线程,实际是开辟一个线程,将任务传递进去,由此线程执行。可以实例化多个 Thread对象,将同一任务传递进去,也就是一个任务可以启动多个线程来执行它。这些线程执行的是同一个任务,所以他们的资源是共享。
代码示例
package test;import java.io.IOException;/** * * date: 2016年12月29日 下午3:11:53 * * @author geyang */public class Test { /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { // 第一种 Thread t = new Thread(new Test2()); t.start(); // 第二种 Thread t1 = new Thread(new Test3()); t1.start(); }}class Test2 implements Runnable { public void run() { }}class Test3 extends Thread { public void run() { }}
0 0
- 线程创建的两种方式及区别
- 创建线程的两种方式区别
- [Java并发编程]-创建线程的两种方式及区别
- 多线程的安全问题。 创建线程的两种方式区别
- 线程的两种创建方式及简单的对比
- 线程Thread的两种创建方式以及区别
- Java创建线程的两种方式和主要区别
- 创建线程的两种方式区别,安全问题
- 线程创建的两种方式和区别
- 创建线程的两种方式以及区别
- 两种创建线程的方式/线程的生命周期及各自使用同步锁时的区别
- 线程的两种创建方式及优劣比较
- Java线程的两种创建方式及优劣比较
- 创建线程的两种方式及原理
- 【JAVA多线程】-线程的两种创建方式及比较
- 线程的两种创建方式及比较
- 创建线程的两种方法,及之间的区别
- 创建线程两种方式的比较
- 常用技巧
- 科目二考试之侧方位停车步骤
- HttpClient使用详解
- 学习SpringMVC——从HelloWorld开始
- JVM调优 学习: 概念储备 (1)
- 线程创建的两种方式及区别
- Debug---Eclipse断点调试基础
- 高仿喵播项目下载iOS
- 二维码保存遇到问题小结
- Android插件化认知
- org.apache.struts2.json.JSONException: java.lang.IllegalAccessException: Class org.apache.struts2.js
- XCode6 Archive 出错~,大侠们 ,SOS ....
- 欢迎使用CSDN-markdown编辑器
- 新固态硬盘格式化,并在Ubuntu挂载ntfs格式硬盘