美文网首页java技术
java线程之一(基础知识总结)

java线程之一(基础知识总结)

作者: 小可文志 | 来源:发表于2019-12-01 21:58 被阅读0次

    目录

    1、线程的概念 

    2、创建线程的方法 

    3、线程的状态及转换 

    4、线程的主要方法

    -----------------------------------------------------------------------------------------------------------------

    1、线程的概念

    进程中一个单一顺序的控制流,即执行一个任务先后顺序的过程 。

    多线程:一个进程中创建多个控制流,他们之间可能有联系,也可能没有联系。类似于一条路上可以分出多条路,他们有的会交叉,有的也没有交叉。

    2、创建线程的方法

    1 继承Thread类

    2  实现Runnable接口

    3、线程的状态及转换

    4、线程的主要方法

    start()

    启动一个线程。

    run()

    线程中运行的程序。

    yield()

    让当前线程暂时放弃CPU资源和其他线程一起竞争CPU,有可能出现刚放弃就又获得了cpu;

    sleep( long millis )

    让当前线程退出CPU指定时长,但是不会释放锁,会使线程进入TIMED_WAITING状态,休眠时间过后重新回到RUNNABLE状态;

    作用:定时执行任务;

    wait()

    使当前线程等待另一个线程调用notify或者notifyAll;

    让线程退出CPU,且释放锁,使线程无限期等待进入WAITING状态,直到获得通知;

    使用前必须加锁

    作用:线程间通信;

    notify()

    唤醒一个因wait()方法处于WAITING状态的线程重新进入RUNNABLE状态,不释放锁

    使用前必须加锁

    作用:线程间通信

    notifyAll()

    唤醒所有因wait()方法处于WAITING状态的线程重新进入RUNNABLE状态,不释放锁

    使用前必须加锁

    作用:线程间通信

    join() 、 join(time)

    使线程等待另一个线程完成(或者等待固定时长)再继续执行,会使线程进入WAITING,会释放锁(内部通过wait()方法实现)

    作用:线程间通信,等待另一个线程执行完成

    相关文章

      网友评论

        本文标题:java线程之一(基础知识总结)

        本文链接:https://www.haomeiwen.com/subject/frptgctx.html