首页 > 代码库 > java小知识点7

java小知识点7

进程:每个进程拥有自己的一整套变量

线程:共享数据

调用Thread.sleep不会创建一个新的线程,sleep是Thread类的静态方法,用于暂停当前线程。

定义线程建议通过Runnable接口,继承Thread无法继承其它的类。

技术分享

线程的stop方法已经被弃用。请求线程终止,使用interrupt方法

如果线程正在运行,调用interrupt方法,中断状态置位

线程被阻塞,调用interrupt方法,抛出InterruptException

线程状态:

  • new
  • runnable
  • blocking
  • waiting
  • timed waiting
  • terminated

新创建状态:

Thread对象刚被实例化

可运行线程:

调用start方法后,线程处于runnable方法。可运行的线程可能正在运行,也可能没有运行,取决于时间片分配

阻塞状态和等待状态:

技术分享

被终止:

  • run方法正常退出
  • 一个没有捕获的异常

技术分享

线程属性

线程优先级1-10,高度依赖操作系统

守护线程为其它线程提供服务,当虚拟机中只剩下守护线程,虚拟机退出。守护线程不应该访问固有资源,因为它在任意时刻发生中断。

线程的run方法不能抛出任何必检异常

在java多线程程序中,所有线程都不允许抛出未捕获的checked exception(比如sleep时的InterruptedException),也就是说各个线程需要自己把自己的checked exception处理掉。

捕获线程逃逸的异常:http://blog.csdn.net/u010853261/article/details/61419677

 

java小知识点7