大致解释一下:
多线程是指程序在运行状态时不止产生了一个线程,使用多线程可以提高程序的效率以及提高对CPU的使用率。
创建线程有四种方式,分别是
1.继承Thread类重写run方法。
2.实现Runnable接口实现run方法。
3.实现callable方法实现call方法允许方法有返回值允许抛出异常。
4通过线程池创建。
线程的生命周期有五个,分别是
【新建】-》【就绪】-》【运行】-》【阻塞】-》【死亡】
多线程编程需要解决三个问题,分别是可见性,原子性和有序性
对此可以使用:
synchronize关键字进行同步操作
可以使用volatile关键词保证共享变量的可见性和有序性,但是不能保证原子性。
Synchronize关键词修饰的代码块不可以中断,线程为阻塞状态
Lock.lock()方法不可中断,线程为等待状态
Lock.tryLock(时间,单位)可中断