Java 022 多线程(实现方式、优先级、等待唤醒机制、安全问题、线程池、定时器)

知识点梳理

Java 022 多线程(实现方式、优先级、等待唤醒机制、安全问题、线程池、定时器)

心得体会

小知识点

1.线程优先级只能代表线程被执行的概率,并不是一定的
2.==sleep()==必须设置休眠时间,且休眠后不会释放锁;==wait()==不一定设置等待时间,线程一但等待就会释放锁
3.多线程安全问题发生条件
<1>多线程环境
<2>共享数据
<3>多条语句操作共享数据
4.线程安全的三个特性
<1>原子性是指操作是不可分的,其表现在于对于共享变量的某些操作,应该是不可分,必须连续完成
<2>可见性是指一个线程对共享变量的修改,对于另一个线程是否是可见
<3>有序性是指程序在执行的时候,程序的代码执行顺序和语句的顺序是否一致