多线程基础
进程和线程
进程:进程是系统进行资源分配和调度的一个独立单位,一个程序在执行时操作系统为他分配一定的CPU、磁盘、内存、网络资源
线程:一个进程包括多个线程,等待系统调度分配CPU资源后才能进入就绪状态
实现方式
实现Runnable接口
- 重写run()方法
- 通过创建Thread类的对象并将实现接口的类的对象传入为参数的方式实现
继承Thread类
- 重写run()方法
- 通过继承Thread类的对象实现
相关方法
start()
- 进入就绪状态(随时准备接受操作系统分配CPU时间,并执行线程)
sleep()
- 进入休眠状态,并按传入的毫秒数重新进入就绪状态
setPriority()
- 设置线程优先级(默认优先级为5,最小为1,最大为10)
yield()
- 让当前线程让出CPU使用权,并进入就绪状态
join()
- 在A线程方法体中创建B线程,并用B线程调用join()方法,让B线程进入就绪状态,并且A线程必须在B线程完成之后才能完成
任务调度
Timer
-
timer.schedule(task, time)
- 主程序执行指定毫秒后,执行任务
-
timer.schedule(task, delay)
- 主程序执行后,指定时间执行任务
-
timer.schedule(task, firstTime, period)
- 主程序执行后,之后毫秒后每隔多少毫秒执行一次任务
-
timer.schedule(task, delay, period)
- 指定第一次执行时间后,每隔多少毫秒执行一次任务