摘要:
线程Yield: yield()方法的作用是放弃当前的CPU资源,将它让给其他的任务去占用CPU执行时间,但放弃的时间不确定,有可能刚刚放弃,马上又获得CPU时间片。 运行结果: 第一次运行结果 去掉Thread.yield();注释,再次运行,运行时间明显变长。 阅读全文
摘要:
Suspend和Resume: Suspend和Resume使用方法: 以下例子证明了线程确实被暂停了,而且还可以恢复成运行状态。 运行结果: Suspend和Resume缺点1-独占: 运行结果: 运行结果: 同样是独占,当程序运行到PrintStream对象println()方法内部停止时,同步 阅读全文
摘要:
Return停止线程: 使用interrupt()和return结合也可以实现停止线程的效果。不过还是建议使用“抛异常“的方法,因为在catch块中可以将异常向上抛,使线程停止的事件得以传播。 运行结果: 阅读全文
摘要:
Stop停止线程: 使用stop()方法停止线程是非常暴力的,会抛出java.lang.ThreadDeath Error,但是我们无需显示捕捉, 以下捕捉只是为了看得更清晰。 运行结果: stop()方法已经被作废,因为如果暴力让线程停止可能会使一些清理性的工作得不到完成。其次,可能会造成数据不一 阅读全文
摘要:
Error和Exception的联系: Error和Exception的联系 继承结构:Error和Exception都是继承于Throwable,RuntimeException继承自Exception。 Error和RuntimeException及其子类称为未检查异常(Unchecked ex 阅读全文
摘要:
Sleep停止线程: 在Sleep状态下被interrupt,interrupted 状态会被擦除,返回false。 线程在Sleep状态下被interrupt: 运行结果: 线程在Sleep之前被interrupt: 运行结果: 阅读全文