java并发编程之美学习

基础

线程的创建与运行

  1. 继承Thread类,重写run方法。调用类的start()方法启用。
  2. 实现Runnable接口,重写run方法。new Thread(Runnable的实现类).start()方法启动。
  3. 实现Callable接口,从写call方法。
    在这里插入图片描述

通知等待系列函数

wait()函数

当一个线程调用一个共享变量的wait()方法的时候,该调用线程会被阻塞挂起。
(1)等到其他线程调用共享变量的notify() 或者 notifyAll() 方法,调用阻塞线程才会返回。
(2)其他线程调用了该线程的interrupt()方法,调用线程抛出InterruptedException异常返回。

需要注意的是,调用共享变量wait()方法的线程,要首先获取到该对象上的监视器锁。如果没有获取该对象上的监视器锁,直接调用共享对象的wait()方法,会抛出ILLegalMonitorStateException异常。

获取对象上的监视器锁,我们只需要通过synchronized关键字实现。


版权声明:本文为xiaopang2020原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。