实现方式:
1.继承自Thread类
多个线程做 不同的事情
2.实现Runnable接口
多个线程做 同一件事情
线程的方法:
打印线程名称(默认Thread-0)
Thread.currentThread.getName()
start:开始 启动线程
run:运行 线程的核心方法
sleep:休眠 单位为毫秒
其他方法:
start() 启动,运行线程
setPriority() 设置优先级
yield() 放弃当前抢到的 CPU资源,进行下一次抢夺
join() 开通 VIP通道:优先该线程,让其他线程处于等待状态
interrupt() 中断、中止处于 sleep中的线程
过时方法:
suspend() 将线程挂起,处于等待状态 ,但会一直占用 CPU资源
resume() 将线程恢复
wait() 让线程处于等待状态,不会占用CPU资源
notify() 将当前线程唤醒
notifyAll() 将所有线程唤醒
必须在 同步 方法中使用!!!
进程和线程的关系:
一个进程至少包括1个或者多个线程
进程:一个程序
线程:一个任务流程
主线程:main()方法
步骤:
实现线程,发布任务
实例化线程对象
启动线程,调用 start方法
调用线程是,有资格抢占CPU资源,
但是不一定调用 run方法,
抢到了才是成功调用run方法,
没有抢到就重新抢、继续抢。