资讯专栏INFORMATION COLUMN

Java基础学习——多线程之控制线程

Keagan / 952人阅读

摘要:常用于临时加入线程。重载形式等待被的线程执行完成。当正在运行的线程都是守护线程时,虚拟机退出。为线程对象设置优先级类定义了三个静态常量停止线程释放执行线程的执行权,让重新调度一次,但仍有可能回到该线程。

join()线程
当A线程执行到了B线程的join()方法时,A线程就会等待B线程执行完,A线程才会执行。
join()常用于临时加入线程。
重载形式:
join():等待被join的线程执行完成。
join(long millis):等待被join的线程的时间最长为millis毫秒,时间过了之后则不再等待。
join(long millis,int nanos):等待时间最长为millis毫秒加nanos毫微秒。

守护线程setDaemon()
将该线程标记为守护线程或用户线程。当正在运行的线程都是守护线程时,Java 虚拟机退出。
该方法必须在启动线程前调用。
setDaemon(); //t1为线程对象

设置优先级setPriority()
Thread类定义了三个静态常量:
MAX_PRIORITY=10
MIN_PRIORITY=1
NORM_PRIORITY=5

停止线程yield
释放执行线程的执行权,让CPU重新调度一次,但仍有可能回到该线程。

补充
设计中常用匿名类设计方法,将代码封装到Thread类中的run方法中

public class static void main (String[] args)
{
    new Thread()//匿名类
    {
        public void run()
        {
            //需要另开线程的代码
        }
    }.start();    //直接调用方法

}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/66266.html

相关文章

  • Java基础学习——线程停止线程和守护线程

    摘要:方法将冻结状态的线程强制运行,并抛出异常。注意只有在运行状态的线程才能读到标识位,最终停止线程。当正在运行的线程都是守护线程时,虚拟机退出。 stop()等方法过时以后,停止线程的唯一方法就是结束run()方法:开启多线程运行通常都是循环结构,只要使用标识位控制住循环,就可以让run()方法结束,即线程结束。 特殊情况:当线程处于了冻结状态就不会读取到标记,那么线程就不会停止。 int...

    _Suqin 评论0 收藏0
  • Java学习路线总结,搬砖工逆袭Java架构师(全网最强)

    摘要:哪吒社区技能树打卡打卡贴函数式接口简介领域优质创作者哪吒公众号作者架构师奋斗者扫描主页左侧二维码,加入群聊,一起学习一起进步欢迎点赞收藏留言前情提要无意间听到领导们的谈话,现在公司的现状是码农太多,但能独立带队的人太少,简而言之,不缺干 ? 哪吒社区Java技能树打卡 【打卡贴 day2...

    Scorpion 评论0 收藏0
  • Java开发

    摘要:大多数待遇丰厚的开发职位都要求开发者精通多线程技术并且有丰富的程序开发调试优化经验,所以线程相关的问题在面试中经常会被提到。将对象编码为字节流称之为序列化,反之将字节流重建成对象称之为反序列化。 JVM 内存溢出实例 - 实战 JVM(二) 介绍 JVM 内存溢出产生情况分析 Java - 注解详解 详细介绍 Java 注解的使用,有利于学习编译时注解 Java 程序员快速上手 Kot...

    LuDongWei 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<