• Java多线程学习笔记二


    一、创建线程

    两种方法:扩展Thread类,实现Runnable接口。

    二、Thread类的常用方法

    *public void run():用来执行线程

    *public void start():开始执行线程,JVM调用线程上的run()方法

    *public void sleep(long miliseconds):使当前线程暂时停止,在经过设定的毫秒数后恢复执行

    *public int setPriority(int priority):更改线程优先级

    *public Thread.State getState():返回线程的状态

    *public void suspend():用于挂起线程

    *public void stop():用于停止线程的执行

    三、线程优先级

     每个线程都有其对应的优先级。优先级是由1到10之间的数字表示的。在绝大部分情况之下,线程调度会按照线程的优先级对线程进行调度。但是不能保证绝对服从该调度程序,还依赖于JVM规范。

    四、Java守护线程

    Java中守护线程是一个服务提供线程,为用户线程服务。守护线程有一个应用场景,就是当主线程结束时,其余的子线程(守护线程)自动关闭,不过建议还是采用中断方式中断线程。

    这一块Thread类提供了两种方法:

    (1):public void setDaemon(boolean status):用来将当前线程标记为守护线程(true)或用于线程(false)

    (2):public boolean isDaemon():返回当前线程是否为守护线程

    注意一点:要在线程启动之前将其设置为守护线程,否则会报错。

    五、Java线程池

    Java线程池表示一组正在等待作业,并可以进行重复使用的工作线程。

    在线程池中,创建一组固定的线程,当需要线程池中的线程时被调用进行使用,使用完毕后,再次回归到线程池内。

    六、Java线程组

    线程组即在单个对象中组合多个线程,将这些线程概括为一个组,组内还可以包含其他线程组。线程组中允许线程访问有关自己的线程组信息,无法访问父线程组或其他无关线程组的信息。

    ThreadGroup的两个构造函数:

    (1):ThreadGroup(String name):创建指定名称的线程组

    (2):ThreadGroup(ThreadGroup parent,String name):创建给定父线程组和该线程组名称的线程组

  • 相关阅读:
    php基础学习(1)
    php基础学习-Apache和MySQL环境配置
    web前端面试题记录
    js面向对象-class类的基本使用es6语法规范(31-64)
    js面向对象-class类的基本使用es6语法规范(1-30)
    javascript this指向
    git操作
    axios的二次封装和api接口规范
    linux下mysql开启二进制日志
    MySQL数据库设计常犯的错以及对性能的影响
  • 原文地址:https://www.cnblogs.com/mqlblog/p/10698957.html
Copyright © 2020-2023  润新知