一、基础知识
并发: 指两个或多个事情在同一时间段内发生,即交替执行。
并行:指两个或者多个时间在统一时刻发生(同时发生),即同时执行
进程: 指一个内存中运行的应用程序,一个应用程序可以同时运行多个进程;进程是程序的一次执行过程,是系统运行的基本单位;系统运行一个程序即是一个进程从创建运行到消亡的过程。
线程: 线程是进程的一个执行单元,负责当前进程程序的执行,一个进程中至少有一个线程。一个进程中可以有多个线程,这个进程就叫做多线程进程。
线程调度:
1、分时调度:所有的线程轮流使用CPU的使用权,平均分配每一个线程占用CPU时间。
2、抢占试调度:优先让优先级高的线程使用CPU,如果线程优先级相同,那么就会随机选择一个。
Java使用的就是抢占试调度。
二、创建多线程程序的方法
1、创建Thread类的子类
Java.Lang.Thread:描述线程的类
实现步骤:
1、创建一个Thread类子类
2、在Thread类子类中重写Thread类的run方法,设置线程任务
3、创建Thread类子类对象
4、调用Thread类方法Strat方法开启新的线程,执行run方法
Thread类的方法:
1、getName( ):返回线程名称
Thread.currentThread( )获取静态线程的方法
2、SetName( ):设置线程的名称
3、start( ):线程开始执行;JAVA虚拟机调用run方法
4、run( ):此线程要执行的任务在此定义的代码。
5、sleep( ):使当前正在执行的程序停留指定毫秒。
2、Runnable接口实现多线程
Java.Lang.Runnable
如果某个类已经继承其他父类,那么他就不能通过继承Thread类子类来实现多线程,这种情况下就可以考虑使用Runnable接口的方式来实现多线程。
实现步骤
1、创建一个Runnable接口的实现类,同时重写接口的Run()方法;
2、创建一个Runnable接口的实现类