1、java有4种创建线程的方法,分别是
(1)继承Thread类
(2)实现runnable接口
(3)实现callable接口,有返回值
(4)用线程池
这几个方法最后都是调用new Thread()来创建线程
2、synchronized 有偏向锁,轻量级锁和重量级锁,轻量级锁是通过自旋实现,改变锁变量是通过CAS来实现的,这样能保证操作的原子性,防止线程安全问题。CAS是并发编程的基石。CAS有aba问题,是通过版本控制来实现

1、java有4种创建线程的方法,分别是
(1)继承Thread类
(2)实现runnable接口
(3)实现callable接口,有返回值
(4)用线程池
这几个方法最后都是调用new Thread()来创建线程
2、synchronized 有偏向锁,轻量级锁和重量级锁,轻量级锁是通过自旋实现,改变锁变量是通过CAS来实现的,这样能保证操作的原子性,防止线程安全问题。CAS是并发编程的基石。CAS有aba问题,是通过版本控制来实现