首页 > 其他分享 >线程使用方式

线程使用方式

时间:2023-04-22 20:12:58浏览次数:25  
标签:Runnable 方式 Thread 继承 接口 实现 线程 使用

有三种使用线程的方法:

  • 实现 Runnable 接口;
  • 实现 Callable 接口;
  • 继承 Thread 类。

实现 Runnable 和 Callable 接口的类只能当做一个可以在线程中运行的任务,不是真正意义上的线程,因此最后还需要通过 Thread 来调用。可以说任务是通过线程驱动从而执行的。


实现 Runnable 接口

需要实现 run() 方法。

通过 Thread 调用 start() 方法来启动线程。

 

实现接口 VS 继承 Thread

实现接口会更好一些,因为:

  • Java 不支持多重继承,因此继承了 Thread 类就无法继承其它类,但是可以实现多个接口;
  • 类可能只要求可执行就行,继承整个 Thread 类开销过大。

著作权归@pdai所有 原文链接:https://pdai.tech/md/java/thread/java-thread-x-thread-basic.html

标签:Runnable,方式,Thread,继承,接口,实现,线程,使用
From: https://www.cnblogs.com/cnetsa/p/17343798.html

相关文章

  • 线程状态转换
    新建(New)创建后尚未启动。可运行(Runnable)可能正在运行,也可能正在等待CPU时间片。包含了操作系统线程状态中的Running和Ready。阻塞(Blocking)等待获取一个排它锁,如果其线程释放了锁就会结束此状态。无限期等待(Waiting)等待其它线程显式地唤醒,否则不会被分配CPU......
  • QGIS中导入dwg文件并使用GetWKT插件获取绘制元素WKT字符串以及QuickWKT插件实现WKT显
    场景QGIS在Windows上下载安装与建立空间数据库连接:在上面实现QGIS的安装之后,版本是3.26.3。业务需求:1、在dwg文件上绘制多边形区域,并获取绘制区域的wkt字符串。2、根据已知的wkt字符串,在dwg上显示。如果新建多边形图层参考如下QGIS怎样设置简体中文以及新建可编辑的多边形的图层:......
  • 设计模式-模板模式在Java中的使用示例-悍马模型制造示例
    场景设计模式-模板模式在Java中的使用示例:设计模式-模板模式在Java中的使用示上面整理了模板模式的使用示例,为加强理解特记录另一个使用示例,以下示例摘自设计模式之禅第二版。模板方法模式定义一个操作中的算法的框架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即......
  • Redis持久化机制导致服务自启动后恢复数据过长无法使用以及如何关闭
    场景若依前后端分离版手把手教你本地搭建环境并运行项目:若依前后端分离版手把手教你本地搭建环境并运行项目_霸道流氓在上面搭建前后端分离的项目后,如果需要在windows服务上进行部署。若依前后端分离版本,Windows下使用Nginx代理的方式进行部署(全流程,图文教程):若依前后端分离版本,Wi......
  • kubernetes1.27 kuberadm方式安装全过程
    配置hosts#master"10.102.4.13master">>/etc/hosts#node1"10.102.4.14node1">>/etc/hosts#node2"10.102.4.15node2">>/etc/hosts安装kubeadm、kubelet和kubectl(三台都要)cat<<EOF|sudotee/etc/yum.repos.......
  • vue2源码-十二、mixin的使用和原理
    mixin的使用和原理使用:可以通过Vue.mixin来实现逻辑的复用,问题在于数据来源不明确。声明的时候可能对导致命名冲突vue3采用的就是compositionAPI局部混入:varmyMixin={created:function(){this.hello()},methods:{hello:function(){......
  • Java中ArrayList的遍历与删除元素方式总结
    在Java编程中,我们经常需要对数据结构进行遍历操作,并根据业务需求删除部分元素。而数组列表(ArrayList)是集合类中的一种,它可以动态地添加和删除元素,非常适合在程序中使用。本篇博客将总结ArrayList中的两种遍历和删除元素的方式。在下面的示例代码中,我们先定义了一个ArrayList对象,......
  • mybatis-plus使用聚合函数报错---------net.sf.jsqlparser.parser.ParseException: En
    错误日志: Causedby:net.sf.jsqlparser.parser.ParseException:Encounteredunexpectedtoken:"with""WITH"atline62,column20.Wasexpectingoneof:"&""::"";""<<&q......
  • Redis 的Java客户端——Jedis连接池的使用详解
    一.Redis的Java客户端jedis的官方仓库地址:https://github.com/redis/jedisRedis数据结构Redis是一个key-value的数据库,key一般是String类型,不过value的类型多种多样。1.1引入Redis依赖<dependency><groupId>redis.clients</groupId><artifactId>jedis</......
  • 使用flex弹性造APP首页轮子【前端Flex弹性布局】
    一.使用flex弹性造一个APP首页轮子这是内科大企业课(全栈开发_web前端的课程),需求如下:使用Flex弹性布局,仿写下面的页面:二.需求分析和完成步骤先分析这个页面,我们可以先写一个大的盒子,作为整个页面:<divid="content"></div>设置其为弹性布局,排列顺序为从上到下#content{......