1、1) Thread 类包含一个可以运行的方法 run()2)两种方法创建线程 a> 继承 Thread 类 i> 继承 Thread 类,覆盖run()方法,提供并发运行的过程 ii> 创建这个类的实例 iii> 使用start()方法启动线程例子: b>实现Runnable接口 i> 实现Runnable接口,实现run()方法,提供并发运行的过程 ii> 创建这个类的实例,用这个实例作为Thread构造器参数,创建Thread类 iii> 使用start()方法启动线程 例子:3)线程的 5 种状态 a> New 新建状态 b> Runnable 可运行(就绪)状态 c> Running 运行(正在运行)状态 ,调用 Thread.yield() 方法,可使线程由 Running 进入 Runnable 状态 d> Block 阻塞(挂起)状态 e> Dead 死亡状态 ,此时如果执行 run() 方法,会抛异常IllegalThreadStateException Thread.sleep(times) 休眠状态4)线程的常用属性和方法 a>线程的优先级(资源紧张的时候,尽可能优先) 最高优先级 10 : t3.setPriority(Thread.MAX_PRIORITY); 最低优先级 1 : t3.setPriority(Thread.MIN_PRIORITY); 默认优先级 5:t3.setPriority(Thread.MORM_PRIORITY); b>后台线程(守护进程,精灵进程) t1.setDaemon(true); 当前台线程结束时,不管后台线程是否结束,都要被停掉 c>获得线程名字 getName() d>获得当前线程 Thread main =Thread.currentThread();5)使用同步代码块解决线程并发安全问题 a> synchronized(同步监视器){ } b> 如果方法的全部过程需要同步, 可以简单使用 synchronized 修饰方法,相当于整个方法 的 synchronized(this)