晨考总结第六天
(一)多线程有几种实现方法,同步有几种实现方法?
多线程: 两种,继承Thread类与实现Runable接口
同步: synchronized, wait 和 notify
(二)线程的生命周期?
线程是一个动态执行的过程,他也有一个从产生到死亡的过程。
五种状态:
- 新建(new Thread)当创建Thread类的一个实例时,此线程进入新建状态(未被启动)
- 就绪(runnable)线程已经被启动,正在等待被分配给CPU时间片,也就是说此时线程正在就绪队列中,排队等候得到CPU资源
- 运行(running)线程获取CPU资源正在执行任务,此时除非此线程自动放弃CPU资源或有优先级更高的线程进入,线程将一直运行到结束。
- 阻塞(blocked)由于某种原因导致正在运行的线程让出CPU并暂停自己的执行。
- 死亡(dead)当线程执行完毕或被其他进程杀死,线程就进入死亡状态,这时线程不可能再进入就绪状态等待执行。
(三)错误和异常的区别?
- error:表示恢复不是不可能但很困难的情况下的一种严重问题,比如内存溢出,不能指望程序能处理这种情况。
- Exception:表示一种设计或实现问题,即他表示如果程序运行正常,从不会放生的情况。