java多线程—Thread.Join()和Thread.Sleep()

java多线程—Thread.Join()和Thread.Sleep()

大家好,又见面了,我是全栈君。

注:
join方法的功能就是使异步执行的线程变成同步执行。也就是说,当调用线程实例的start方法后,这个方法会立即返回,如果在调用start方法后后需要使用一个由这个线程计算得到的值,就必须使用join方法。如果不使用join方法,就不能保证当执行到start方法后面的某条语句时,这个线程一定会执行完。而使用join方法后,直到这个线程退出,程序才会往下执行。

这两天一直在研究Thread的调度,把成果拿出来,大家分享一下!本来昨天想要写这篇文章的,无奈51cto的网站不过,无法写!只有推迟到今天!废话不多说!下面是成果!
   

 thread1.Join()//这样写是告诉大家它不是静态方法
         * 三个重载方法,基本功能相同,都是阻塞掉当前代码运行的线程,只有当thread1线程执行完毕,阻塞掉的线程才重新进入运行状态
         * ①thread1.join(),无参无返回值,如果调用该方法时,thread1终止,则返回,否则,被阻塞的线程就永远阻塞下去
         * ②thread1.join(int) 参数是超时时间(单位ms),返回bool,如果在超时时间内thread1终止,则返回true,同时被阻塞的线程进入运行状态,
         *     否则,返回false,同时被阻塞的线程和thread1都处于运行状态,并且交替执行
         * ③thread1.join(timespan)同②。
         * 
         * 
         *线程中设计join方法的意义(个人理解):实现了线程的顺序执行,而线程的顺序执行就有同步的意义,所以这里也可以看做线程同步的一种方式
         */
        /*thread1.Sleep(time)
           两个重载方法功能相同都是,让当前线程休眠一段时间,时间过后就唤醒,但是唤醒后不一定就重新进行调度,但是sleep一次肯定就要重新进行一次调度
         * sleep的意义就是为了防止优先级高的线程(而又需要花费大量Cpu时间的)长期占有Cpu时间,使得其他的线程出现饿死状态,当然不会真的出现饿死状态
         * 或者是某优先级高的线程不想再未来一段时间内参与cpu竞争也可以调用该方法。
         */
作者:ATually_Miao

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/121263.html原文链接:https://javaforall.net

(0)
上一篇 2022年2月24日 下午6:00
下一篇 2022年2月24日 下午6:00


相关推荐

  • LEfSe学习[通俗易懂]

    LEfSe学习[通俗易懂]参考:微生物组间差异分析之LEfSe分析LEfSe分析,你真的懂嘛?微生物LEfSe分析图表解读实栗操作:(待续)#!/bin/sh#inthisscriptweshowhowtoperformthebiomarkerdiscoveryoperation#usingLEfSe.ThescriptsrequireLEfSetobein…

    2022年5月29日
    46
  • CDH 版 Hadoop 下载

    CDH 版 Hadoop 下载昨夜西风凋碧树 独上高楼 望尽天涯路下载地址 http archive cloudera com cdh5 网页显示如下 点击 cdh 目录 选择 5 进入如下页面 该页面包含了 CDH5 版本的所有项目 在该页面 Ctrl f 搜索 Hadoop 相关的安装包

    2026年3月18日
    2
  • 3389之永不查杀的后门shift后门代码「建议收藏」

    3389之永不查杀的后门shift后门代码「建议收藏」永不查杀的3389后门其原理就是利用shift后门,连敲5次shift键既可以直接进入服务器。前些天在群里有个小伙伴问了一句谁知道shift后门的代码,当时我给了他一个链接,我总是觉得这个百度下就能找到吧,我查了一下,发现什么都有,有的不全有的要么复杂,我也搞不懂一个代码还不能认真的给我们吗?非要让大家赏你几根辣条!好了废话不多说,将下面的代码通过服务器上的DOS命令下执行即可,觉

    2026年1月15日
    3
  • 电阻和电容的识别_电容电阻怎么区分

    电阻和电容的识别_电容电阻怎么区分一、贴片电阻阻值的读法贴片电阻的阻值通常以数字形式直接标注在电阻的表面,所以读电阻的阻值直接看电阻表面的数字即可。通常情况下有三种表示方法:(1)、由三个数字组成,表明电阻的误差是±5%。前面两位是有效数字,第三位数字表示乘零的倍数,即10的几次方,基本单位是Ω。例如:103,1和0是有效数字直接写下来即可,3表示乘零倍率,也就是10的2次方,所以103表示的阻值就是1010^3=1010…

    2022年8月21日
    8
  • dw自动滚动图片_DW图片无缝滚动代码

    dw自动滚动图片_DW图片无缝滚动代码DIV的图片无缝滚动,DIV图片上无缝滚动,DIV图片下无缝滚动,DIV图片左无缝滚动,DIV图片右无缝滚动1.先了解一下对象的几个的属性:innerHTML:设置或获取位于对象起始和结束标签内的HTMLscrollHeight:获取对象的滚动高度。scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶…

    2022年7月18日
    17
  • pycharm彻底卸载_pycharm如何更新

    pycharm彻底卸载_pycharm如何更新用过Windows系统的朋友应该都体验过被系统强制更新的烦恼,经常玩电脑玩着玩着就觉得网速很慢或者电脑变卡了,打开设置一看,发现是Windows系统正在更新。然后当关机的时候,选项变成了”更新并关机”和”更新并重启”,但是它更新的速度还很慢。更新完成之后打开电脑,很多人也都遇到过蓝屏或者卡死机的情况,至于原因,不得而知。实际上系统设置和控制面板里面都有暂停更新选项,但是那个时效只有一个月,之后又会…

    2022年8月25日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号