线程(基础)
1 程序
是为完成特定任务 用某种语言编写的一组指令的集合
说白了就是代码
2 进程
指运行中的程序
进程是程序的一次执行过程 或者是正在运行的一个程序 是动态过程 有它自身的产生 存在和消亡的过程
3 线程
线程由进程创建 是进程的一个实体
一个进程可以拥有多个线程
单线程
同一时刻 只允许执行一个线程
多线程
同一时刻 可以执行多个线程
并发
同一时刻 多个任务交替执行 造成一种"同时"的错觉 简单地说 单核cpu实现的多任务就是并发
并行
同一时刻 多个任务同时执行 多核cpu可以实现并行
线程的基本使用
1 继承Thread类
2 实现Runnable接口
某些情况下,一个类已经继承了一个类,那么它通过继承Thread类来创建线程显然不可能了
这时候我们可以通过实现Runnalbe接口来创建线程
二者的区别
1 从java设计上来看 二者本质上并无区别 从jdk帮助文档我就们就可以看到 Thread类本身就实现了Runnable接口
2 实现Ruunable接口方式更加适合多个线程共享一个资源的情况 并且避免了单线程的限制 建议使用Runnable