zoukankan      html  css  js  c++  java
  • 多线程: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():恢复线程运行。

  • 相关阅读:
    Leetcode 230 Kth Smallest Element in a BST
    codeforces Round #259(div2) C解题报告
    poj 3041(最大匹配问题)
    SpringMVC从Controller跳转到还有一个Controller
    倒计时相关函数 php
    HDU 1575 Tr A(矩阵高速幂)
    poj3468 A Simple Problem with Integers
    奇妙的自慰帽子
    Android 用户登录界面
    泛泰A860(高通8064 cpu 1080p) 刷4.4专用中文recovery TWRP2.7.1.2版(三版通刷)
  • 原文地址:https://www.cnblogs.com/wwjj4811/p/13669434.html
Copyright © 2011-2022 走看看