线程的六种状态
我们需要关注线程的六种状态来更好理解线程执行的流程
线程状态。线程可以处于以下状态之一:
l NEW
尚未启动的线程处于此状态。
l RUNNABLE
在Java虚拟机中执行的线程处于此状态。
l BLOCKED
被阻塞等待监视器锁定的线程处于此状态。
l WAITING
无限期等待另一个线程执行特定操作的线程处于此状态。 指被休眠未指定休眠时间,直到等到一个线程去唤醒它。
l TIMED_WAITING
正在等待另一个线程执行最多指定等待时间的操作的线程处于此状态。
l TERMINATED
已退出的线程处于此状态
带返回值的线程Callable
前面学到了线程的两种创建方式:继承Thread和实现Runnable。
现在介绍一个特色创建线程的方式:Callable。
Callable像是主线程指派了一个任务给这个线程,当任务完成后会返回一个结果给主线程。
Callable创建的线程可以跟主线程一起执行,也可以让主线程等它执行完返回结果后主线程再执行。
Callable接口的所有方法: