目录
程序 进程 线程
程序:静态的代码文件(program)
进程:运行中的程序(process) 负责与计算机硬件交互
线程:进程的细化,是进程的内部最小单元,隶属于进程 cpu都是用线程的单位调度 线程是一个独立的任务
线程和进程的关系
线程属于进程
创建线程
两种方式:
1.继承Thread类 重写 run方法
调 start方法启动线程
2.实现Runnable接口
避免了单继承的局限性
mythread实现了Runnable接口 但是只是任务 并没有创建真正的线程
线程是在 new Thread才才创建的
要想拥有多线程 要先创建一个类 继承 Thread 重写run方法
在主方法中 new类 调用 start方法
这样就可以同时运行两个线程了
Thread类中的方法
run()定义线程的任务
start()启动线程
currentThread 得到当前线程 .getname得到当前线程的名字
setName 设置名称
线程优先级
setPriority设置优先级
getPriority获取优先级
时间片 抢占式
线程状态
新建状态 new Thread
调用Start() 进入就绪状态
获取到cpu执行权 运行
死亡或 终止
也可以失去执行权
强制终止stop()方法(不建议用但存在)
出现异常
yield()线程主动让步
阻塞状态
sleep(毫秒)线程休眠
join()等待这个线程死亡 让其他线程进入等待状态
scanner.next()
守护线程
典型应用 垃圾回收线程
当其他的用户线程离开 守护线程才离开
设置守护线程 setDaemon(true);