线程类 Thread
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)