[面试]java创建线程有几种方式?
来源:互联网 发布:网络编程工资多少 编辑:程序博客网 时间:2024/05/04 07:07
一、继承Thread类创建线程子类
1.在这子类中重写run方法,在run方法内写线程任务代码
2.创建该子类实例,即是创建了一个线程实例
3.调用该实例的start方法来启动该线程
二、建一个类去实现Runnable接口
1.该类去实现接口的run方法,run方法内写线程任务代码
2.创建该类实例,把该实例当作一个标记target传给Thread类,如:Thread t = new Thread(该类实例);即创建一个线程对象
3.调用线程的start方法来启用该线程.
三、通过Callable 接口和 RunnableFuture创建线程
Callable<Integer> cl = new Callable<Integer>(){public Integer call() throws Exception {//业务逻辑...return null;}};FutureTask<Integer> ft = new FutureTask<Integer>(cl); //实现了RunnableFuture 接口Thread t = new Thread(ft);t.start();
优劣:
二、三两种方式是实现某接口,可以去继承其他类,操作相对灵活,并且能多个纯种共享一个对象Thread t = new Thread(ft);里面的ft对象能多个线程共享,劣势是编程相对复杂
一种方式是继承Thread类,不能再继承其他类,编程相对简单
0 0
- [面试]java创建线程有几种方式?
- [Android面试]Java创建线程的两种方式
- Java线程创建方式
- Java线程的创建方式
- Java线程创建有两种方式
- Java 创建线程的方式
- java创建线程的方式
- java线程的创建方式
- java创建线程的方式
- java 创建线程 的两种方式
- java创建线程的三种方式
- 浅谈java多线程之创建线程方式
- 黑马程序员之Java---线程创建方式
- Java线程创建的两种方式
- java创建线程的三种方式
- java创建线程的两种方式
- java创建线程的两种方式
- java线程的两种创建方式
- Mariad加密函数(四)
- 【机器学习】线性回归Linear Regression
- struts 文件下载
- Topcoder SRM 561 DIV2 1000 FoxAndTouristFamilies
- HDU 1087 Super Jumping! Jumping! Jumping!
- [面试]java创建线程有几种方式?
- 讯飞语音识别
- 单例模式
- 机器学习-Logistic回归之随机梯度上升
- 编写一个符合国情的日期插件
- [AHK]获取当前运行脚本的pid
- 1 数据挖掘基础
- Latex安装
- 二进制中1的个数