启动线程3个方式

  • Thread继承
  • 实现Runable
  • lambda表达式/通过线程池Executors.newCacheThread

线程状态迁移图

多线程与高并发【一】

线程同步

  • synchronized(Object)
    • 锁的是对象,不是代码
    • this/**.class
    • 锁定方法和非锁定方法可以同时执行
    • 锁升级:偏向锁–>自旋锁–>重量级锁

相关文章: