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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • idea 激活码2021 3月最新注册码

    idea 激活码2021 3月最新注册码,https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • linux文本编辑器

    linux文本编辑器linux常见服务一.文本编辑器vivim是vi增强版vim需要安装sudoapt-get-yinstallvimvim的三种工作模式1编辑模式命令模式=>编辑模式iaos按键作用i在光标当前位置插入文本a光标的下一个位置插入文本A当前行的行尾插入文本S…

  • elasticsearch 简书_elasticsearch用法

    elasticsearch 简书_elasticsearch用法 版权声明:本文为博主原创文章,欢迎转载,转载时请注明出处。欢迎留言讨论,大数据讨论qq群201011292 https://blog.csdn.net/Dante_003/article/details/76890218 </div> …

  • mkv格式文件不能播放和字幕问题_mkvplayer手机版

    mkv格式文件不能播放和字幕问题_mkvplayer手机版从byrbt上拖了黑衣人I、II来看,发现所有的播放器都不能正常显示mkv包中自带的字幕。理所当然怀疑是字幕编码的问题,但是查设置是对的(GB2312)。但此方法无效。从网络上找来字幕文件(srt)是可以正常显示的,所以编码设置应该没有问题。mkv其实是把音频、视频、字幕等封存成一个文件的形式。此处可以播放独立字幕,但是不能显示mkv内部的外挂字幕,应该是所含字幕本身的问题。于是在r…

    2022年10月26日
  • python 网络爬虫入门(一)———第一个python爬虫实例

    python 网络爬虫入门(一)———第一个python爬虫实例最近两天学习了一下python,并自己写了一个网络爬虫的例子。python版本:3.5IDE:pycharm5.0.4要用到的包可以用pycharm下载:File->DefaultSettings->DefaultProject->ProjectInterpreter选择python版本并点右边的加号安装想要的包我选择的网站是中国天气网中的苏州天气,准备抓取最近

  • 狂神说Linux_狂神说博客园

    狂神说Linux_狂神说博客园Linux在服务器端,很多大型项目都是部署在Linux服务器上利用VM + Centos7搭建本地Linux系统你可以使用 man [命令]来查看各个命令的使用文档,如 :man cp。概念云服务器就是一个远程电脑Linux中一切皆文件根目录/,所有的文件都挂载在这个节点下/bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令。/boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。/dev : dev是Device(设备

发表回复

您的电子邮箱地址不会被公开。

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