培训视频网站,百度权重划分等级,手机在线做ppt模板下载网站,百度搜索推广优化师工作内容1、程序、进程、线程的基本概念 程序#xff1a;为了完成某种任务用某一种语言编写的一组指令的集合就叫程序。程序就是一段静态的代码。 进程#xff1a;进程是程序的依次执行过程#xff0c;或者说是正在运行的一个程序。这是一个动态的过程#xff0c;有它自身的产生运行…1、程序、进程、线程的基本概念 程序为了完成某种任务用某一种语言编写的一组指令的集合就叫程序。程序就是一段静态的代码。 进程进程是程序的依次执行过程或者说是正在运行的一个程序。这是一个动态的过程有它自身的产生运行和消亡的过程--生命周期。进程是资源分配的基本单位。 线程进程可进一步的划分为线程线程是一个程序内部的一条执行路径。线程是调度和执行的基本单位每一个线程拥有独立的程序计数器和运行栈线程之间切换的开销相对来说比较小。 备注一个Java程序至少有三个线程main()线程、垃圾收集线程、异常处理线程。 2、并发和并行的基本概念 并行多个CPU同时执行多个任务。 并发一个CPU同时执行多个任务。 3、多线程程序的优点 提高应用程序的响应时间提高计算机系统CPU的利用效率改善程序结构。4、线程的分类 Java中的线程分为用户线程和守护线程。 他们两者在几乎每个方面都是相同的唯一的区别就是判断JVM何时离开守护线程是用来服务用户线程的但是也可以把一个用户线程更改为守护线程Java垃圾回收线程就是一个典型的守护线程如果JVM中的线程全部是守护线程的时候JVM将会退出5、线程创建的四种方式 使用继承Thread类的方式创建多线程使用实现Runnable接口的方式创建多线程使用实现Callable接口的方式创建多线程使用线程池的方式创建多线程6、线程的生命周期 一个线程完整的生命周期通常包含五个部分 新建状态当一个Thread类及其子类的对象被声明并创建时新生的线程就处于新建状态就绪状态新建的线程执行start()方法之后将会进入线程队列等待CPU时间片此时的线程已经具备了执行的条件只是没有分配到CPU运行状态处于就绪状态的线程被调度并且获得了CPU时间片之后就能执行状态阻塞状态在某种情况下当前的线程让出CPU并临时中断自己的执行此时的线程就进入了阻塞状态死亡状态线程完成了全部的工作或者被强制提前结束或者线程出现异常导致线程结束 7、什么是线程的安全问题 多线程安全问题是由于多个线程在访问共享的数据共享的资源并且操作共享数据的语句不止一条。那么这样在操作多条共享数据的线程之间就可能发生线程切换。只要切换就可能有安全问题。 当多个线程执行解决某个方法时不管这些线程如何交替的执行我们在主程序中不需要去做任何的同步这个类的结果行为都是我们设想的正确行为那么我们就可以说这个类时线程安全的。转载于:https://www.cnblogs.com/BaoZiY/p/10726400.html