1.在Java中实现多线程有三种方式
- 第一种:编写一个类,直接继承java.lang.Thread,重写run方法。
- 第二种:编写一个类,实现java.lang.Runnable接口。
- 第三种:创建一个”未来任务类“对象,在参数中需要给一个Callable接口实现类对象。
2.多线程的生命周期
3.线程相关的操作
- 如何获取当前线程 :Thread.currentThread()
- 获取线程对象的名字:Thread.currentThread().getName()
- 修改线程对象的名字:Thread.currentThread().setName()
- 线程的sleep方法:
- 如何叫醒一个正在睡眠的线程:Thread.interrupt()
- 如何强行终止一个线程的执行
- 在线程类中打一个布尔标记run,想要关闭的时候把run改为false就可以了
4.关于多线程并发的环境下,数据安全的问题
- 线程安全问题三个条件
- 多线程并发
- 有共享数据
- 共享数据有修改行为
- 解决方法是让线程排队执行 sychronized的三种使用方法
- 第一种,同步代码块
- 第二种,在实例方法上使用sychronized
-
- 第三中,在静态方法上使用sychronized
5.死锁代码
6.关于Object类中的wait和notify方法(消费者和生产者模式)