Skip to content

Latest commit

 

History

History
63 lines (34 loc) · 1 KB

13-线程.md

File metadata and controls

63 lines (34 loc) · 1 KB

线程的概念

进程: 一个程序执行的标志

线程: 一个程序中有多个独立流程,每一个流程是线程

特点:

  • 多个线程同时并发执行

java 使用线程

  1. 继承 Thread 类

a. 定义一个普通类,来继承 Thread

b. 重写 run 方法

c. 创建线程对象

d. 调用 start 方法启动该线程

  1. 实现 Runnable 接口

a. 定义一个普通类,来实现 Runnable 接口

b. 重写 run 方法

c. 创建对象

d. 把对象转换成 Thread 对象,然后调用 start 方法来启动线程

线程的状态

  1. 初始状态

  2. 可运行状态

  3. 阻塞状态 sleep(long l) join() join(long l)

  4. 运行状态

  5. 终止状态

线程同步问题

多个线程同时并发执行时,则会产生数据的混乱

解决方案:

  1. 使用 synchronized 修改方法

  2. 使用 synchronized 修饰代码块

死锁

多个同步锁同时使用时,有可能产生死锁

wait()
notify()
notifyAll()