多线程 - Java

多线程

  1. Thread 类
  2. Runnable 接口

后台线程:执行之前设置 setDaemon(true)

生命周期

..
..
锁阻塞状态
无限等待状态

线程插队 join()

线程让步 yield()

线程中断

synchronized

锁住线程,保证线程安全,任何时刻只有一个线程访问这个资源

1
2
3
synchronized(lock){
操作共享资源代码块
}

锁对象的创建不能在run()里,否则每个线程都是不同的锁

死锁问题

两个线程互锁住对方的资源,都再等待对方