1. 进程&线程,并行&并发

image.png
一个Java应用程序java.exe,其实至少有三个线程: main()主线程, gc() 垃圾回收线程,异常处理线程。当然如果发生异常,会影响主线程。
image.png

2. 线程的4种创建方法

|

2.1 API中创建线程的2种方法

| | —- | |

2.1.1 继承Thread类

image.png
image.png | |

2.1.2 实现Runnable接口—-> run()

image.png | | image.png
image.png
new Thread(new Runnable()); | | | |

2.2 JDK5.0 新增的2种创建线程的方法

| |

2.2.1 Callable 接口

image.png
image.png | |

2.2.2 使用线程池

| | image.png
image.png | | |

3. Thread类的方法

image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png

4. 线程的同步—->锁

image.png
image.png
image.png

4.1 synchronized解决线程安全

image.png

image.png
image.png

image.png | | image.png | |

4.2 Lock锁

image.png
image.png | |

4.3 Lock 与 synchronized进行对比

image.png | |

4.4 线程通信

| | 使用两个线程打印 1-100。线程1, 线程2 交替打印

image.png | |

4.5 wait() notify() 和 notifyAll()



image.png | | image.png | | image.png | | image.png
image.png
image.png
image.png

|