• 多线程:Thread中的常见方法


    start():启动一个新线程,在新的线程运行 run 方法中的代码 注意:start 方法只是让线程进入就绪,里面代码不一定立刻行(CPU 的时间片还没分给它)。每个线程对象的start方法只能调用一次,如果调用了多次会出现IllegalThreadStateException。

    run():新线程启动后会调用的方法 注意:如果在构造 Thread 对象时传递了 Runnable 参数,则线程启动后会调用 Runnable 中的 run 方法,否则默认不执行任何操作。但可以创建 Thread 的子类对象,来覆盖默认行为。

    join():等待线程运行结束
    join(long n):等待线程运行结束,最多等待 n毫秒

    getId():获取线程长整型的 id
    getName():获取线程名
    setName(String):修改线程名
    getPriority():获取线程优先级
    setPriority(int):修改线程优先级,优先级区间[1,10]
    getState():获取线程状态,Java 中线程状态是用 6 个 enum 表示,分别为:NEW, RUNNABLE, BLOCKED, WAITING,TIMED_WAITING, TERMINATED

    isInterrupted():判断是否被打断,不会清除打断标记
    isAlive():线程是否存活(还没有运行完毕)
    interrupt():打断线程,注意:如果被打断线程正在 sleep,wait,join 会导致被打断的线程抛出 InterruptedException,并清除 打断标记 ;如果打断的正在运行的线程,则会设置 打断标记 ;park 的线程被打断,也会设置打断标记(使用后LockSupport.park()方法,可以让线程阻塞)
    interrupted():判断当前线程是否被打断,会清除打断标记
    setDaemon():默认情况下,Java 进程需要等待所有线程都运行结束,才会结束。有一种特殊的线程叫做守护线程,只要其它非守护线程运行结束了,即使守护线程的代码没有执行完,也会强制结束。

    currentThread():获取当前正在执行的线程
    sleep(long n):让当前执行的线程休眠n毫秒,休眠时让出cpu的时间片给其它线程
    yield():提示线程调度器让出当前线程对CPU的使用

    不推荐的方法(过时方法)
    stop():停止线程运行
    suspend():挂起(暂停)线程运行
    resume():恢复线程运行。

  • 相关阅读:
    Eclipse快捷键大全
    如何查看JDK_API 2019.2.23
    JXL、POI操作Excel
    Eclipse 将builder文件夹下的classes文件改路径到WEB-INF下,以及常用快捷键
    系统分盘
    U盘被识别为其他设备(显示U盘图标但是不显示盘符)的解决办法
    Oracle+jsp+Servlet的员工表的简单增删改查
    2019年3月8日09:06:02 mybatis 一对多
    linux 协议栈分享
    fib
  • 原文地址:https://www.cnblogs.com/wwjj4811/p/13669434.html
Copyright © 2020-2023  润新知