Java.util.concurrent

进程:指在系统中正在运行的一个应用程序﹔程序一旦运行就是进程﹔进程——资源分配的最小单位。。
线程:系统分配处理器时间资源的基本单元,或者说进程之内独立执行的一个单元执行流。线程——程序执行的最小单位。

线程的状态(可以通过Thread.State枚举类查看)

  • NEW (新建态)
  • RUNNABLE(准备就绪)
  • BLOCKED(阻塞)
  • WAITING(不见不散)
  • TIMED WAITING(过时不候)
  • TERMINATED(终止)

Wait和Sleep的区别

  • sleep是Thread的静态方法,wait是 Object的方法,任何对象实例都能调用
  • sleep不会释放锁,它也不需要占用锁。wait会释放锁,但调用它的前提是当前线程占有锁(即代码要在synchronized中)
  • 它们都可以被interrupted方法中断