1,继承Thread方式的线程
2,推荐的创建线程方式:继承Runnalbe,使用Thread类
线程池 第四种方式
3,Thread常用方法
getPriority() | setPrioority(1,5,10) | |
---|---|---|
currentThread() 静态方法 | getName() | setName() |
yield() 释放cup执行权,变为就绪状态 | join():在A线程中B.join() ,A就阻塞,B执行完到A | |
stop() :过时方法,强制结束线程 | sleep(ms) | isAlive() |
4,线程分类
守护线程,用户线程
守护线程服务用户线程
5,线程生命周期
阻塞---》就绪:sleep,join结束获取同步锁,notify,resume:过时方法
6,注意
wait,notify,notifyall,必须在同步方法快内,方法内,不能使用lock,他们调用时是锁对象.wait,要注意 此时syn(锁对象),两个所对象必须相同
定制化通信:
数据库中读写一般不是同步的
JUC中读写都是同步的,即读写同步,因为JVM线程必须加锁,否则不安全,比数据库严格