1、并发与并行
并发:指多个事件在同一个时间段内发生(交替)
并行:值多个时间在同一时刻发生(同时)
2、进程概念
进入到内存的程序叫进程
3、线程概念
线程属于进程,是进程的一个执行单元
4、线程调度
1、分时调度
2、抢占式调度(java使用此种)
5、主线程
主线程即main方法的线程
单线程程序:java程序中只有一个线程
执行从main开始的程序,从上到下依次执行
6、创建多线程,使用Thread的子类
实现步骤:
- 创建一个Thread类的子类
- 在Thread类的子类中重写run方法,设置线程任务
- 创建Thread类的子类对象
- 调用Thread类中的start方法,开启新的线程,执行run方法
结果实两个线程并发执行,当前线程(main)和另一个线程(run)
不能多次启动一个线程,特别是线程结束都再次启动
7、获取线程名称
使用Thread中的静态方法currentThread()
8、线程休眠
public static void sleep(Long mills)//当前线程暂停指定的毫秒数
9、创建多线程,实现runnable接口
runnable接口应该由那些打算通过某一线程执行器实例化的类来实现
实现步骤:
- 创建一个runnable接口的实现类
- 在实现类中重写runnable接口的方法,设置线程任务
- 创建一个runnable接口的实现类对象
- 创建Thread类对象,构造方法中传递runnable接口的实现类对象
- 调用Thread类中的start方法,开启新的线程执行run方法
10、匿名内部类方式实现线程的创建
作用:简化代码
把子类继承父类,重写父类的方法,创建子类对象合一步完成
把实现类实现接口,重写接口中的方法,创建实现类对象合成一步完成
匿名内部类的最终产物:子类/实现类对象,而这个类没有名字
格式:
new 父类/接口(){
重写父类/接口的方法
};