当前位置: 首页 > news >正文

设计一个官方网站推广广告做旅游的海报图片网站

设计一个官方网站推广广告,做旅游的海报图片网站,备案号如何绑定多个网站,网站建设制作教程在之前的一文《如何”优雅”地终止一个线程》详细说明了 stop 终止线程的坏处及如何优雅地终止线程#xff0c;那么还有别的可以终止线程的方法吗#xff1f;答案是肯定的#xff0c;它就是我们今天要分享的——线程中断。下面的这断代码大家应该再熟悉不过了#xff0c;线…在之前的一文《如何”优雅”地终止一个线程》详细说明了 stop 终止线程的坏处及如何优雅地终止线程那么还有别的可以终止线程的方法吗答案是肯定的它就是我们今天要分享的——线程中断。下面的这断代码大家应该再熟悉不过了线程休眠需要捕获或者抛出线程中断异常也就是你在睡觉的时候突然有个人冲进来把你吵醒了。try {Thread.sleep(3000); } catch (InterruptedException e) {e.printStackTrace(); } 此时线程被打断后代码会继续运行或者抛出异常结束运行这并不是我们需要的中断线程的作用。到底是什么是线程中断线程中断即线程运行过程中被其他线程给打断了它与 stop 最大的区别是stop 是由系统强制终止线程而线程中断则是给目标线程发送一个中断信号如果目标线程没有接收线程中断的信号并结束线程线程则不会终止具体是否退出或者执行其他逻辑由目标线程决定。我们来看下线程中断最重要的 3 个方法它们都是来自 Thread 类1、java.lang.Thread#interrupt中断目标线程给目标线程发一个中断信号线程被打上中断标记。2、java.lang.Thread#isInterrupted()判断目标线程是否被中断不会清除中断标记。3、java.lang.Thread#interrupted判断目标线程是否被中断会清除中断标记。线程中断实战我们来实例演示下线程中断如何用示例1中断失败/*** 来源Java技术栈*/ private static void test1() {Thread thread new Thread(() - {while (true) {Thread.yield();}});thread.start();thread.interrupt(); } 请问示例1中的线程会被中断吗答案不会因为虽然给线程发出了中断信号但程序中并没有响应中断信号的逻辑所以程序不会有任何反应。示例2中断成功/*** 来源Java技术栈*/ private static void test2() {Thread thread new Thread(() - {while (true) {Thread.yield();// 响应中断if (Thread.currentThread().isInterrupted()) {System.out.println(Java技术栈线程被中断程序退出。);return;}}});thread.start();thread.interrupt(); } 我们给示例2加上了响应中断的逻辑程序接收到中断信号打印出信息后返回退出。示例3中断失败/*** 来源Java技术栈*/ private static void test3() throws InterruptedException {Thread thread new Thread(() - {while (true) {// 响应中断if (Thread.currentThread().isInterrupted()) {System.out.println(Java技术栈线程被中断程序退出。);return;}try {Thread.sleep(3000);} catch (InterruptedException e) {System.out.println(Java技术栈线程休眠被中断程序退出。);}}});thread.start();Thread.sleep(2000);thread.interrupt(); } 示例3 sleep() 方法被中断并输出了 Java技术栈线程休眠被中断程序退出。 程序继续运行……为什么呢来看 sleep 的源码可以看出 sleep() 方法被中断后会清除中断标记所以循环会继续运行。。示例4中断成功/*** Java技术栈*/ private static void test4() throws InterruptedException {Thread thread new Thread(() - {while (true) {// 响应中断if (Thread.currentThread().isInterrupted()) {System.out.println(Java技术栈线程被中断程序退出。);return;}try {Thread.sleep(3000);} catch (InterruptedException e) {System.out.println(Java技术栈线程休眠被中断程序退出。);Thread.currentThread().interrupt();}}});thread.start();Thread.sleep(2000);thread.interrupt(); } 示例4全部信息输出并正常退出只是在 sleep() 方法被中断并清除标记后手动重新中断当前线程然后程序接收中断信号返回退出。通过以上 4 个中断示例相信对 Java 线程中断的概念有了全面的了解。更多 Java 多线程技术文章请关注Java技术栈。版权申明本文系 Java技术栈 原创原创实属不易转载、引用本文内容请注明出处禁止抄袭、洗稿请自重尊重他人劳动成果和知识产权。
http://www.zqtcl.cn/news/884312/

相关文章:

  • 网站备案完电信园林效果图网站
  • 伤豆丁文库网站开发贵州网站备案局
  • 做网站的注意什么北京建设协会网站首页
  • 石家庄网站开发设计网站建设重点步骤
  • 推广思路及执行方案昆明百度seo
  • 太原公司网站建立可视化小程序开发工具
  • 怎么做网站的搜索引擎云主机有什么用
  • 淘宝客新增网站南宁百度seo优化
  • 建设厅网站合同备案在哪里网站备案本人承诺
  • 做方案的网站住房城乡建设部官网
  • 怎样在门户网站做 推广天水市建设银行官方网站
  • 温州建网站哪家强网站建设谈客户说什么
  • 网站的子域名怎么设置整站seo排名外包
  • 免费网站在哪下载苏州建设银行网站
  • 邹平 建设项目 网站公示怎样做网站卖自己的产品教程
  • 手机免费网站建设哪家公司好免费动态域名申请
  • 提升网站排名怎么提交自己的网站
  • cms网站开发phpwordpress有什么功能
  • 专业网站制作解决方案自己在家搭建服务器
  • 中小企业网站提供了什么英文营销网站建设
  • 玉环市建设工程检测中心网站网站建设服务的具体条件
  • 主机网站wampserver搭建网站
  • 建设银行网站点不进去深圳龙华区招聘网最新招聘信息
  • 网站建设公司现在还挣钱吗wordpress棋牌
  • 网站建设有什么技术自媒体平台哪个好
  • 可以建网站的软件南昌seo代理商
  • 手机网站建设宽度中小型企业网站模板
  • 网站开发需要的所有技术中信建设有限责任公司历任董事长
  • 安徽省建设干部学校网站首页做软件是什么工作
  • 图书馆网站设计方案安徽质量工程建设网站