博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
52、多线程创建的三种方式对比
阅读量:6594 次
发布时间:2019-06-24

本文共 1610 字,大约阅读时间需要 5 分钟。

多线程创建的三种方式对比

  • 继承Thread
    • 优点:可以直接使用Thread类中的方法,代码简单
    • 缺点:继承Thread类之后就不能继承其他的类
  • 实现Runnable接口
    • 优点:即时自定义类已经有父类了也不受影响,因为可以实现多个接口
    • 缺点: 在run方法内部需要获取到当前线程的Thread对象后才能使用Thread中的方法
  • 实现Callable接口
    • 优点:可以获取返回值,可以抛出异常
    • 缺点:代码编写较为复杂

使用匿名内部类创建线程

package com.sutaoyu.Thread;import java.util.concurrent.Callable;import java.util.concurrent.ExecutionException;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.Future;public class test_4 {    public static void main(String[] args) throws InterruptedException, ExecutionException {        /*         * Thread         */        new Thread() { // 1.继承Thread类            public void run() { // 2.重写run方法                for(int i = 0;i<1000;i++) { // 3.将要执行的代码写在run方法中                    System.out.println(i + "Thread");                 }            }        }.start(); // 4.开启线程                /*         * Runnable         */                new Thread(new Runnable() { // 1.将Runnable的子类对象传递给Thread的构造方法            public void run() { // 2.重写run方法                for(int i = 0;i < 1000;i++) {                    System.out.println( i + "Runnable");                }            }        }).start();// 4.开启线程                /*         * Callable         */                ExecutorService exec = Executors.newCachedThreadPool();        Future
result = exec.submit(new Callable
() { public Integer call() throws Exception{ return 1024; } }); System.out.println(result.get()); }}

 

转载于:https://www.cnblogs.com/zhuifeng-mayi/p/10149658.html

你可能感兴趣的文章
Format Conditions按条件显示表格记录
查看>>
Angular Material
查看>>
IOS5开发-UIScrollView添加单击事件的方法
查看>>
pjblog支持QQ、新浪微博一键登录
查看>>
深入浅出Node.js (附录D) - 搭建局域NPM仓库
查看>>
Java Web整合开发(36) -- Web Service框架XFire
查看>>
WEB开发:Java与Php对比
查看>>
洗礼灵魂,修炼python(44)--巩固篇—反射之重新认识hasattr,gettattr,setattr,delattr...
查看>>
java使用ssh访问Linux的项目jscraft
查看>>
FreeSWITCH在会议室中持续播放音频文件
查看>>
SharpDevelop的亮点—优化提示
查看>>
linux命令之netstat
查看>>
dp入门(先摆在这里,之后细细读)
查看>>
学生成绩的快速录入(构造函数)
查看>>
[Contest20180415]看无可看
查看>>
每次从vss获取文件都是只读
查看>>
Building tools为什么是主流
查看>>
Python环境搭建教程2
查看>>
python3-冒泡排序
查看>>
CODEVS1690|开关灯|线段树(带lazy)
查看>>