• java多线程


    1 线程的状态:

       创建(new)、就绪(runnable)、运行(running)、阻塞(blocked)、time waiting、waiting、消亡(dead)

    2 wait和sleep区别

      1)sleep()方法属于Thread类,wait()方法,属于Object类。

      2)sleep()方法导致了程序暂停执行指定的时间,会让出cpu给其他线程,但是不会释放对象锁,当指定的时间到了又会自动恢复运行状态。

      3) wait方法会让线程进入阻塞状态,并且会释放线程占有的锁,并交出CPU执行权限

    3 yield方法

       1)yield方法会让当前线程交出CPU权限,同样不会释放锁。但是yield不能控制具体的交出CPU的时间,

       2)yield方法只能让拥有相同优先级的线程有获取CPU执行时间的机会。

       3)yield方法并不会让线程进入阻塞状态,而是让线程重回就绪状态,它只需要等待重新获取CPU执行时间

    4 join方法

       1)join方法是调用了Object的wait方法

       2) 调用thread1.join()方法后,main线程会进入等待,然后等待thread1执行完之后再继续执行

    5 interrupt方法

      1)interrupt方法可以中断处于阻塞状态的线程

      2)interrupt方法不能直接中断正在运行中的线程,但是可以通过interrupt方法和isInterrupted()方法来停止正在运行的线程,调用interrupt方法相当于将中断标志位置为true

  • 相关阅读:
    DAY9 函数初识(各种参数的用法)
    CSS背景
    HTML/CSS 练习
    从JDBC到commons-DBUtils
    SQL
    MYSQL数据库基本操作
    JDBC
    Stream数据流(Collection接口扩充)
    Stack栈
    Map集合接口
  • 原文地址:https://www.cnblogs.com/eryun/p/9964902.html
Copyright © 2020-2023  润新知