首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么不推荐使用 stop、suspend 方法中断线程?

我们知道像stop、suspend这几种中断或者阻塞线程的方法在较高java版本中已经被标记上了@Deprecated过期标签,那么为什么她们曾经登上了java的历史舞台而又渐渐的推出了舞台呢?...我们从中可以看出以下几点: stop这种方法本质上是不安全的 使用Thread.stop停止线程会导致它解锁所有已锁定的监视器,即直接释放当前线程已经获取到的所有锁,使得当前线程直接进入阻塞状态 我们举例来看一下上边提到的两点...那么不建议使用stop中断线程我们应该怎么去优雅的结束一个线程呢,我们可以存java开发者的注释中窥探到一种解决方案: Many uses of stop should be replaced by code...可以看到java开发者推荐我们使用以下两种方法来优雅的停止线程。另外,多线程系列面试题和答案全部整理好了,微信搜索Java技术栈,在后台发送:面试,可以在线阅读。...2.使用interrupt方法中断线程。

81130

为什么不推荐使用 stop、suspend 方法中断线程?

java版本中已经被标记上了@Deprecated过期标签,那么为什么她们曾经登上了java的历史舞台而又渐渐的推出了舞台呢?...我们从中可以看出以下几点: stop这种方法本质上是不安全的 使用Thread.stop停止线程会导致它解锁所有已锁定的监视器,即直接释放当前线程已经获取到的所有锁,使得当前线程直接进入阻塞状态 我们举例来看一下上边提到的两点...那么不建议使用stop中断线程我们应该怎么去优雅的结束一个线程呢,我们可以存java开发者的注释中窥探到一种解决方案: Many uses of stop should be replaced by code...可以看到java开发者推荐我们使用以下两种方法来优雅的停止线程。 1.定义一个变量,由目标线程去不断的检查变量的状态,当变量达到某个状态时停止线程。...二、suspend的落幕 suspend方法的作用是挂起某个线程直到调用resume方法来恢复该线程,但是调用了suspend方法后并不会释放被挂起线程获取到的锁,正因如此就给suspend和resume

54320
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    使用jQuery的delay()延迟执行show()和hide()不起效的解决方法

    今天使用 jQuery 的 delay() 来延迟执行 hide() ,发现延时不起效,查了一些资料,找到了其中的原因。...HTML 代码: jQuery 代码: $('#foo').slideUp(300).delay(800).fadeIn(400); 但是使用他来延迟执行 show()...).show(function(){}); //传回调函数 或 $("#test").delay(5000).show(1); //动画的速度 或 fast 或 slow 或 随便写如 xxx 疑惑是为什么必须传参数才能正确执行...只有在队列中的连续事件可以被延时,因此不带参数的 .show() 和 .hide() 就不会有延时,因为他们没有使用动画队列。...声明:本文由w3h5原创,转载请注明出处:《使用jQuery的delay()延迟执行show()和hide()不起效的解决方法》 https://www.w3h5.com/post/351.html

    3.3K10

    关于 java 中的 set,get方法,而为什么不推荐直接使用public

    我不知道有没有人遇到过,有一段时间,我都觉得那些 set,get的用处何在,我直接写一个public直接拿不就行了,多爽,但是随着使用的频繁,越来越想去搜索一下这个问题,而不是按照官方的推荐,前辈们的使用都是建议...这里引入其中的一句话: 在任何相互关系中,具有关系所涉及的各方都遵守的边界是十分重要的事情,当创建一个类库时,就建立了与客户端程序员之间的关系,他们同样也是程序员,但是他们是使用你的类库来构建应用...综上所述,写到这里,我诞生了一个想法,其实set ,get ,public,对于它们使用完全取决于我们程序员自己,为了让项目之间的逻辑更加清晰,有些标准自上而下,慢慢的传了下来,无论你使用那种,但是有一个东西是无法避免的...补充说明,set字面意思设置,get获取,我们了解一下java面向对象编程的封闭性与安全性,private 修饰的set get方法将方法封闭在了一个特定类中,其他类就无法对其变量进行方法,这样就提高了数据的安全性...一些杂谈:这些只是来自我一个菜鸡自己的想法,当然对于很多大神来说不值一提,可能以后我会有更深入的理解,但是至少,在程序员这条路上,不想盲目的去使用一些东西,或者说不想单纯只是去听别人的一些看法。

    1.5K20

    jQuery

    1、为什么要用 jQuery DOM API 很难用。...我们可以通过document.getElementById等方法获取DOM对象,但是方法名称长,使用不方便,而且功能有限,不能像CSS选择器那样灵活。 存在兼容性问题。...功能太少,不能与时俱静。换句话说,只有等到浏览器更新了或者不需要兼容老浏览器时,才可以使用一些新的语法去选择一些元素,去操作它......。 jQuery 兼容性好。 API 友好。...4、jQuery 可以用来做什么 选择网页元素 改变结果集 元素的操作:取值和赋值 元素的操作:移动 元素的操作:复制、删除和创建 工具方法 事件操作 特殊效果 AJAX ...... 5、jQuery...6、jQuery 的所有API只有两种写法 第一种,类似下面这样的 $.noConflict() $.each() 第二种,类似下面这样的 $('ul').addClass() $('p').text(

    2.3K30

    jQuery.validationEngine.js学习

    以下是引擎的工作流程 在使用jquery.validationEngine.js时还需要一个js文件:包括许多语言包,这里我们就用en包做个示范,引入jQuery.validationEngine-en.js...custom[email]] text-input" type="text" name="req" id="req" data-prompt-position="topRight:-70" /> 这里为什么不直接写...至于为什么要加这个custom,不急,我们慢慢看。...将错误内容放入div中,将生成div插在被触发控件的前面,并且为div加上class,为什么加,在init方法中,我们已经为这类class添加了click事件,功能是点击能够删除它们。...那第三个msg:如果你需要在ajax成功返回之后想触发其他method里的方法,可以写allrules里有的方法名即可,你也可以自己输入字符串信息,那最后提示框中将使用你自定义的信息。

    4K20

    jquery scroll 滚动加载列表 获取腾讯云图片像素信息

    jquery scroll 滚动加载列表 获取腾讯云图片像素信息 场景描述 问题处理 其他问题处理 场景描述 bootstarp列表加载图片时需要同时获取图片的像素(宽and高),对于腾讯云这类远程存储获取图片来说...如果通过后台逐个获取图片像素信息返回给前台页面渲染的话,会导致前台页面迟迟加载不出来,且有浏览器内存耗尽卡死的风险,并且腾讯云获取图片像素信息的接口还有频限100的限制,这就更导致了通过后台获取图片像素方案的不适用,那么如果通过页面jquery...问题处理 首先找到前端同事帮忙写一下scroll方法的加载结构和页面热区的宽高计算,然后补充具体参数信息及业务逻辑信息 列表html结构如下 代码如下 var start = function() {...); } } function loadImg($img) { //$img.attr('src', $img.attr('data-src')); $img.addClass...'); } } 视图模式的加载效果 既然加了视图模式,那么就会涉及到视图和列表切换时方法的销毁问题,因为不销毁的话,在列表模式下,滚动的话也会执行视图模式的滚动方法导致资源浪费,关闭滚动方法的处理如下

    9010
    领券