首页

文章

创建线程有哪几种方式

发布网友 发布时间:2022-04-20 04:05

我来回答

2个回答

热心网友 时间:2023-06-26 07:22

一、继承Thread类创建

  
通过继承Thread并且重写其run(),run方法中即线程执行任务。创建后的子类通过调用 start() 方法即可执行线程方法。

  通过继承Thread实现的线程类,多个线程间无法共享线程类的实例变量。(需要创建不同Thread对象,自然不共享)
二、 通过Runnable接口创建线程类
该方法需要先 定义一个类实现Runnable接口,并重写该接口的 run() 方法,此run方法是线程执行体。接着创建 Runnable实现类的对象,作为创建Thread对象的参数target,此Thread对象才是真正的线程对象。通过实现Runnable接口的线程类,是互相共享资源的。
三、 使用Callable和Future创建线程
从继承Thread类和实现Runnable接口可以看出,上述两种方法都不能有返回值,且不能声明抛出异常。而Callable接口则实现了此两点,Callable接口如同Runable接口的升级版,其提供的call()方法将作为线程的执行体,同时允许有返回值。
但是Callable对象不能直接作为Thread对象的target,因为Callable接口是 Java 5 新增的接口,不是Runnable接口的子接口。对于这个问题的解决方案,就引入 Future接口,此接口可以接受call() 的返回值,RunnableFuture接口是Future接口和Runnable接口的子接口,可以作为Thread对象的target 。并且, Future 接口提供了一个实现类:FutureTask 。
FutureTask实现了RunnableFuture接口,可以作为 Thread对象的target。

热心网友 时间:2023-06-26 07:22

1、newCachedThreadPool()
创建一个可缓存的线程池,如果线程池的规模超过了处理需求,将自动回收空闲线程,而当需求增加时,则可以自动添加新线程,线程池的规模不存在*。
2、newFixedThreadPool(2)
创建一个固定长度的线程池,每当提交一个任务就创建一个线程,直到达到线程池的数量,超出的线程会在队列中等待。
3、newScheledThreadPool(2)
创建了一个固定长度的线程池,而且以延迟或定时的方式来执行任务,类似于Timer。
4、newSingleThreadExecutor()
创建一个单线程化的线程池,它只会用的工作线程来执行任务,所有任务按照指定顺序(FIFO, LIFO, 优先级)执行。
5、newSingleThreadScheledExecutor()
创建一个单例线程池,定期或延时执行任务。
6、newWorkStealingPool(3)
创建一个带并行级别的线程池,并行级别决定了同一时刻有多少个线程在执行,如不穿如并行级别参数,将默认为当前系统的CPU个数。
八月中国最凉快的地方 八月份哪里最凉快,去哪旅游好?美丽的地方 乱字同韵字是什么意思 华硕笔记本电脑触摸板怎么开笔记本电脑触摸板怎么开启和关闭_百度知 ... 陕西职务侵占案立案准则 结婚后我的恋情维系了十年,怎么做到的? 玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 年终会活动策划方案 深度解析:第一财经回放,探索财经新风向 逆水寒手游庄园怎么邀请好友同住 逆水寒手游 逆水寒不同区可以一起组队吗? 逆水寒手游 逆水寒怎么进入好友世界? 逆水寒手游 逆水寒怎么去别人的庄园? 使用puppeteer实现将htmll转成pdf 内卷时代下的前端技术-使用JavaScript在浏览器中生成PDF文档 【译】将HTML转为PDF的几种实现方案 变形金刚08动画怎么样 变形金刚08动画的问题 变形金刚08动画日语版剧情介绍 高分!换显卡nvidia控制面板被我卸了,重新安装显卡驱动后没了nvidia控... 我的nvidia控制面板被卸载了 怎么找回啊 卸载后 这个画面看着很奇怪_百 ... 李卓彬工作简历 林少明工作简历 广东工业职业技术学院怎么样 郑德涛任职简历 唐新桂个人简历 土地入股的定义 ups快递客服电话24小时 贷款记录在征信保留几年? 安徽徽商城有限公司公司简介 安徽省徽商集团新能源股份有限公司基本情况 安徽省徽商集团有限公司经营理念 2019哈尔滨煤气费怎么有税? 快手删除的作品如何恢复 体育理念体育理念 有关体育的格言和理念 什么是体育理念 万里挑一算彩礼还是见面礼 绿萝扦插多少天后发芽 绿萝扦插多久发芽 扦插绿萝多久发芽 炖牛排骨的做法和配料 网络诈骗定罪标准揭秘 “流水不争先”是什么意思? mc中钻石装备怎么做 为什么我的MC里的钻石块是这样的?我想要那种。是不是版本的问题?如果是... 带“偷儿”的诗句 什么是java多线程详解 在Java 中多线程的实现方法有哪些,如何使用 FutureTask是什么? java协程和futuretask的区别 Java如何实现方法的阻塞 java多线程的几种实现方法及多窗口售票小程 java线程Callable怎么启动的问题 创建多线程有几种方法 JAVA关于callable接口的多线程问题 为什么并发包抽出了runnablefuture接口 java runnable和callable区别是什么? java中使用继承Callable的方式实现多线程? JAVA中Callable的call方法抛出的异常会抛到那里? 线程runnable和callable的区别 java中runnable和callable的区别 callable 和 future 的区别 Java的Runnable,Callable,Future,FutureTask有... 设置里面微信美颜打开了但是视频还是无美颜 也没有美颜设置? 终究还是瞒不住了,内部员工说出董卿离开央视的原... 央视主持人几班倒啊? 如何在java中获取线程异步执行之后的结果 java并发框架有哪些 自己怎么做小程序商城 做一个小程序商城大概需要多少钱? 自己可以做小程序商城吗 小程序商城制作需要多少钱? 做一个商城式的小程序,大概需要多少钱 做个微信小程序商城需要多少钱 搭建一个小程序商城费用大概要多少? 小程序在线制作平台和自己开发有什么区别? 微信小程序:做一个简单的商城小程序需要多少钱 您好,微信美颜已经开启 可是视频时还是没有美颜,怎么回事啊?_问一问 补录本科是什么意思 高考补录是什么意思补录是怎么回事 高考补录是什么意思,这些学生可以补录,你知道吗 什么是补录?补录是什么意思 志愿补录是什么意思? 高考补录是什么意思?是征求志愿的意思吗?提前批... 关于报考大学,补录是什么意思呢。 高考补录是什么意思
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com