范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

详解线程interrupt()方法

  线程的 interrupt()方法只是设置线程的中断标记,当对处于阻塞状态的线程调用interrupt方法时(处于阻塞状态的线程是调用sleep, wait, join 的线程),会抛出InterruptException异常,而这个异常会清除中断标记。正常运行的线程调用interrupt()不会清除中断标记。
  通过interrupt()我们可以优雅的结束一个线程;有人会说stop()也可以呀,但是stop会出现一种情况,如果线程锁住了共享资源,那么当它调用stop被杀死后就再也没有机会释放锁了,其它线程将永远无法获取,所有这种结束线程的方式是不安全的也是不建议的。
  优雅的结束线程是指,当线程死亡的时候,它可以做一些善后的事情。我们通过如下的代码就可以优雅的结束一个线程。package com.zd.demo;  public class Test01 {     public static void main(String[] args) {         Runnable runnable = new Runnable() {             public void run() {                 while (true){                     boolean b = Thread.currentThread().isInterrupted();                     //如果为真,就结束线程                     if (b){                         System.out.println("执行善后工作...");                         break;                     }                      try {                         Thread.sleep(1000);                         System.out.println("线程执行业务功能");                     } catch (InterruptedException e) {                         e.printStackTrace();                         Thread.currentThread().interrupt();                     }                 }             }         };         Thread t1 = new Thread(runnable,"t1");         t1.start();         try {             Thread.sleep(4000);             t1.interrupt();         } catch (InterruptedException e) {             e.printStackTrace();         }     } } "C:Program FilesJavajdk1.8.0_101binjava" -javaagent:D:BaiduNetdiskDownloadIDEAIDEA安装包ideaIU-2017.3.3.winlibidea_rt.jar=6134:D:BaiduNetdiskDownloadIDEAIDEA安装包ideaIU-2017.3.3.winbin -Dfile.encoding=UTF-8 -classpath "C:Program FilesJavajdk1.8.0_101jrelibcharsets.jar;C:Program FilesJavajdk1.8.0_101jrelibdeploy.jar;C:Program FilesJavajdk1.8.0_101jrelibextaccess-bridge-64.jar;C:Program FilesJavajdk1.8.0_101jrelibextcldrdata.jar;C:Program FilesJavajdk1.8.0_101jrelibextdnsns.jar;C:Program FilesJavajdk1.8.0_101jrelibextjaccess.jar;C:Program FilesJavajdk1.8.0_101jrelibextjfxrt.jar;C:Program FilesJavajdk1.8.0_101jrelibextlocaledata.jar;C:Program FilesJavajdk1.8.0_101jrelibext ashorn.jar;C:Program FilesJavajdk1.8.0_101jrelibextsunec.jar;C:Program FilesJavajdk1.8.0_101jrelibextsunjce_provider.jar;C:Program FilesJavajdk1.8.0_101jrelibextsunmscapi.jar;C:Program FilesJavajdk1.8.0_101jrelibextsunpkcs11.jar;C:Program FilesJavajdk1.8.0_101jrelibextzipfs.jar;C:Program FilesJavajdk1.8.0_101jrelibjavaws.jar;C:Program FilesJavajdk1.8.0_101jrelibjce.jar;C:Program FilesJavajdk1.8.0_101jrelibjfr.jar;C:Program FilesJavajdk1.8.0_101jrelibjfxswt.jar;C:Program FilesJavajdk1.8.0_101jrelibjsse.jar;C:Program FilesJavajdk1.8.0_101jrelibmanagement-agent.jar;C:Program FilesJavajdk1.8.0_101jrelibplugin.jar;C:Program FilesJavajdk1.8.0_101jrelibresources.jar;C:Program FilesJavajdk1.8.0_101jrelibrt.jar;C:UserszhaodongIdeaProjectsboot1demo	argetclasses;C:Userszhaodong.m2repositoryorgspringframeworkbootspring-boot-starter-web2.5.5spring-boot-starter-web-2.5.5.jar;C:Userszhaodong.m2repositoryorgspringframeworkbootspring-boot-starter2.5.5spring-boot-starter-2.5.5.jar;C:Userszhaodong.m2repositoryorgspringframeworkbootspring-boot2.5.5spring-boot-2.5.5.jar;C:Userszhaodong.m2repositoryorgspringframeworkbootspring-boot-autoconfigure2.5.5spring-boot-autoconfigure-2.5.5.jar;C:Userszhaodong.m2repositoryorgspringframeworkbootspring-boot-starter-logging2.5.5spring-boot-starter-logging-2.5.5.jar;C:Userszhaodong.m2repositorychqoslogbacklogback-classic1.2.6logback-classic-1.2.6.jar;C:Userszhaodong.m2repositorychqoslogbacklogback-core1.2.6logback-core-1.2.6.jar;C:Userszhaodong.m2repositoryorgapachelogginglog4jlog4j-to-slf4j2.14.1log4j-to-slf4j-2.14.1.jar;C:Userszhaodong.m2repositoryorgapachelogginglog4jlog4j-api2.14.1log4j-api-2.14.1.jar;C:Userszhaodong.m2repositoryorgslf4jjul-to-slf4j1.7.32jul-to-slf4j-1.7.32.jar;C:Userszhaodong.m2repositoryjakartaannotationjakarta.annotation-api1.3.5jakarta.annotation-api-1.3.5.jar;C:Userszhaodong.m2repositoryorgyamlsnakeyaml1.28snakeyaml-1.28.jar;C:Userszhaodong.m2repositoryorgspringframeworkbootspring-boot-starter-json2.5.5spring-boot-starter-json-2.5.5.jar;C:Userszhaodong.m2repositorycomfasterxmljacksoncorejackson-databind2.12.5jackson-databind-2.12.5.jar;C:Userszhaodong.m2repositorycomfasterxmljacksoncorejackson-annotations2.12.5jackson-annotations-2.12.5.jar;C:Userszhaodong.m2repositorycomfasterxmljacksoncorejackson-core2.12.5jackson-core-2.12.5.jar;C:Userszhaodong.m2repositorycomfasterxmljacksondatatypejackson-datatype-jdk82.12.5jackson-datatype-jdk8-2.12.5.jar;C:Userszhaodong.m2repositorycomfasterxmljacksondatatypejackson-datatype-jsr3102.12.5jackson-datatype-jsr310-2.12.5.jar;C:Userszhaodong.m2repositorycomfasterxmljacksonmodulejackson-module-parameter-names2.12.5jackson-module-parameter-names-2.12.5.jar;C:Userszhaodong.m2repositoryorgspringframeworkbootspring-boot-starter-tomcat2.5.5spring-boot-starter-tomcat-2.5.5.jar;C:Userszhaodong.m2repositoryorgapache	omcatembed	omcat-embed-core9.0.53	omcat-embed-core-9.0.53.jar;C:Userszhaodong.m2repositoryorgapache	omcatembed	omcat-embed-el9.0.53	omcat-embed-el-9.0.53.jar;C:Userszhaodong.m2repositoryorgapache	omcatembed	omcat-embed-websocket9.0.53	omcat-embed-websocket-9.0.53.jar;C:Userszhaodong.m2repositoryorgspringframeworkspring-web5.3.10spring-web-5.3.10.jar;C:Userszhaodong.m2repositoryorgspringframeworkspring-beans5.3.10spring-beans-5.3.10.jar;C:Userszhaodong.m2repositoryorgspringframeworkspring-webmvc5.3.10spring-webmvc-5.3.10.jar;C:Userszhaodong.m2repositoryorgspringframeworkspring-aop5.3.10spring-aop-5.3.10.jar;C:Userszhaodong.m2repositoryorgspringframeworkspring-context5.3.10spring-context-5.3.10.jar;C:Userszhaodong.m2repositoryorgspringframeworkspring-expression5.3.10spring-expression-5.3.10.jar;C:Userszhaodong.m2repositoryorgslf4jslf4j-api1.7.32slf4j-api-1.7.32.jar;C:Userszhaodong.m2repositoryorgspringframeworkspring-core5.3.10spring-core-5.3.10.jar;C:Userszhaodong.m2repositoryorgspringframeworkspring-jcl5.3.10spring-jcl-5.3.10.jar" com.zd.demo.Test01 线程执行业务功能 线程执行业务功能 线程执行业务功能 java.lang.InterruptedException: sleep interrupted 执行善后工作... 	at java.lang.Thread.sleep(Native Method) 	at com.zd.demo.Test01$1.run(Test01.java:20) 	at java.lang.Thread.run(Thread.java:745)  Process finished with exit code 0

多数浴室装修都没做好这三点,你家是不是也中招了?浴室虽然是我们用得最多的地方,但也是在装修时被忽视得最彻底的地方。多数情况下,我们认为它只要满足如厕和洗漱功能就好,而忘记了它也需要讲究细节,讲究颜值。那一个恰到好处且精致优雅的卫新房装修,到底要不要装榻榻米?看完这些你就明白了榻榻米一直有收纳神器美名,也渐渐成为小户型次卧室装修的首选设计。但,榻榻米使用久了,它的问题也逐渐暴露出来,发现它并没有理想中的那么好,甚至有人不惜多花钱,也要把榻榻米拆了,重新装室内运用陶土砖,效果不是一般的美室内材料的选择丰富多变,想要挑选到美观实用的那一种,往往需要花费一番精力进行不断地挑选和对比,才能让其在设计师手中,发挥出该有的作用和实力。而本期,就以陶土砖这种材料作为重点分析,什么是横竖厅户型,二者有什么不同?横厅在很早之前就风靡欧美,也成为了豪宅的标配,能让客餐厅两个功能区都能拥有超大和超清的最佳景观视野,搭配大面积空间也能突显装修的奢华度。近几年,国内从高端住宅项目到普通商品房,都开卡座是小户型的救星?一起来了解一下吧人人夸的卡座,真的有那么好吗?原本的卡座设计多用于餐厅咖啡馆火车车厢等公共空间中,因为它的实用又美观的属性,被越来越多的设计师运用到家居装修中,卡座也不负众望,以其收纳功能强大造型小户型如何把客厅装大?请参考这些设计刚需房是当下大部分买房人心中的香饽饽。尽管小户型刚需房存在面积太小空间规划不合理南北不通透等等问题,依旧阻挡不了买房人对于它的偏爱。毕竟,在房价如此高昂的形势下,价总价和低首付的优高质量人类的家,都安装了中央空调中央空调出现在大众视野里的时候,可能还未料见自己会成为正反辩方热议的话题。正方中央空调多好,隐藏式,高级美观用起来也舒服,而且还有普通空调没有的功能。反方这货贵得不要不要的,安装要别着急买智能马桶,看完你可能只需要买个智能马桶盖就够用了马桶在国外家庭已经相当普及,而在国内蹲厕和马桶二选一的争议非常大,谁也很难说服对方。很多人都会遇到的问题对于公共厕所的马桶,能忍的宁可憋着回到家,也不愿意使用公厕马桶,而且很多公共别小看了门套,它也有大作用门套就是门洞内部的一个框架,由门框密封条门档条和门套线组成,其安装造型安装材质色彩选择都一定程度上影响着室内门在空间中的展示和作用。但由于很多家庭对门套都是一知半解的,所以在装修过一柜多用,被柜子留空设计圈粉了收纳柜对于家居空间有多重要?在规划户型,进行合理分配的过程中,需要各种各样的柜子来装饰展示收纳杂物,扩大空间在视觉上的呈现效果,增强空间的功能性。但随着极简主义的盛行,柜子的设计逐安防光学镜头市场之变在前不久as公布的2020年全球安防50强榜单中出现了不少新面孔,除了几家拥有综合安防业务的行业大佬外,一些细分市场的头部企业也以其亮眼的成绩跃居50强榜单,比如宇曈光学(第18位
上海贝岭拟3。6亿收购矽塔科技标的估值溢价12。4倍承诺三年赚9000万长江商报奔腾新闻记者蔡嘉3月28日晚间,上海贝岭(600171。SH)披露对外收购方案。公司拟以自有资金3。6亿元收购深圳市矽塔科技有限公司(以下简称矽塔科技)100股权。此次收购油价3连涨,600万新能源车主却愁苦不已比加汽油还费钱引言自进入2022年以后,油价一路高涨,截止到当前油价已经进行了两轮大幅上涨,并且两轮加起来每吨上涨总计655元,再算上去年最后一次,每吨上涨140元,这也让国内油价实现了三连涨,2022年3月29日币圈大事件今日晚报3月29日晚间重要动态一览120021001。MacroStrategy以比特币为抵押完成2。05亿美元定期贷款,或购买更多比特币2。L2DeFi协议zkLend完成500万美元种智能适老不能徒有虚名评论员观察智能时代正加速拥抱老年人。众多互联网应用推进适老化改造推出老年关怀模式,就是其生动注脚。然而,记者调查发现,广告多难卸载偷占地儿,仍有不少应用软件的老年关怀模式名不副实,索尼65x90j和65x91j有什么区别?哪一款性价比高?来看详细分析两款电视的差别不大,配置都是一样的,搭载的技术和功能都是差不多的。只是在价格上有几百块的差异。既然在综合性能都是差不多的情况下,题主只需要选择便宜的哪一款就可以了。下面是这两款电视广东鸿图2021年净利3亿同比增长92。68新能源产品销售收入明显提高挖贝网3月28日,广东鸿图(002101)发布2021年度业绩快报公告,公告显示,2021年112月营业总收入为6,003,325,507。03元,比上年同期增长7。28归属于上市AMD不再是万年老二(图片源于百度侵删)文陈博53岁的AMD和苏姿丰,正在迎来属于他们的黄金时代,同样AMD收购赛灵思也将会形成112的双赢模式。万年老二终于扬眉吐气了。壹在英伟达的老黄收购ARM失败致京东HR法务法律顾问的一封短信本文基于对该图片的合法性真实性和关联性无疑议京东的毕业须知,让我暗搓搓地想到了战场上的转进。裁就裁吧,怕人诟病保障员工劳动权益不力,有损企业商业声誉,进而丢掉背后的经济利益吃了败仗中信证券从电动化到智能化,电动车赛道有望开启下半场e公司讯,中信证券研报称,2022年3月25,2022中国电动汽车百人会论坛在北京召开,本届论坛主题为迎接新能源汽车市场化发展新阶段。行业市场化进程有望加速步入新阶段,未来成长确定奔驰开L3自动驾驶撞了我负责,网友来国内赔到你破产开自动驾驶汽车,如果出了事故,该谁负责?有人认为该由驾驶员负责,有人则认为,提供自动驾驶的车企该买单。自自动驾驶汽车上路开始,这种争论就没停过。甚至连各国法规也没有深入触及这个灰色着急了?华为鸿蒙刚过3亿用户,美企就突然出手云将东游,过扶摇之枝,而适遭鸿蒙。鸿蒙指代最初的状态,从庄子开始,基本上都是这样的解释。因而,华为在操作系统上实现破局,就将这个国产操作系统称之为鸿蒙,毕竟这是国产操作系统最新的形