JavaSE多线程高级编程有哪些难点?
- 内容介绍
- 文章标签
- 相关推荐
本文共计7890个文字,预计阅读时间需要32分钟。
4. 多线程
4.1 基本概念:
- 程序:为了完成特定任务,用某种语言编写的指令集合。- 进程:程序的运行实例,包括程序代码和数据,以及执行过程中的状态信息。- 线程:进程中的执行单元,是轻量级进程,能够并发执行。程序:为完成特定任务,用特定语言编写的指令集合。程序是一段静态代码,静态对象。进程:程序的运行实例,包含代码、数据和状态。线程:进程的执行单元,轻量级,可并发执行。
4. 多线程 4.1 基本概念:程序、进程和线程程序、进程和线程
程序:为了完成特定的任务,用某种语言编写的一组指令的集合。程序是一段静态的代码,静态对象。
进程:是程序的一次执行过程或正在运行的程序。(进程是一个任务)。进程是一个动态的过程:有产生、存在和消亡的过程——即拥有生命周期。
- 程序是静态的,进程是动态的
- 进程作为资源分配的单位,系统在运行时会为每个进程分配不同的内存空间
线程:进程可进一步细化为线程,是一个程序内部的一条执行路径。一个进程可以包含一个或多个线程。
- 若一个进程同一时间执行多个线程,就是支持多线程。
- 线程作为执行和调度的单位,每个线程拥有独立的运行栈和程序计数器(pc, program counter register),线程切换开销比较小。
- 一个进程中的多个线程可以共享相同的内存单元/内存地址空间(它们从同一堆中分配对象,方法区、堆),可以访问相同的变量和对象。使得线程间通信更高效、便捷。但是多个线程操作共享的系统资源可能会带来安全隐患。
并行与并发
- 并行:多个CPU同时执行多个任务。
- 并发:一个CPU(采用时间片)同时执行多个任务。如:秒杀。
本文共计7890个文字,预计阅读时间需要32分钟。
4. 多线程
4.1 基本概念:
- 程序:为了完成特定任务,用某种语言编写的指令集合。- 进程:程序的运行实例,包括程序代码和数据,以及执行过程中的状态信息。- 线程:进程中的执行单元,是轻量级进程,能够并发执行。程序:为完成特定任务,用特定语言编写的指令集合。程序是一段静态代码,静态对象。进程:程序的运行实例,包含代码、数据和状态。线程:进程的执行单元,轻量级,可并发执行。
4. 多线程 4.1 基本概念:程序、进程和线程程序、进程和线程
程序:为了完成特定的任务,用某种语言编写的一组指令的集合。程序是一段静态的代码,静态对象。
进程:是程序的一次执行过程或正在运行的程序。(进程是一个任务)。进程是一个动态的过程:有产生、存在和消亡的过程——即拥有生命周期。
- 程序是静态的,进程是动态的
- 进程作为资源分配的单位,系统在运行时会为每个进程分配不同的内存空间
线程:进程可进一步细化为线程,是一个程序内部的一条执行路径。一个进程可以包含一个或多个线程。
- 若一个进程同一时间执行多个线程,就是支持多线程。
- 线程作为执行和调度的单位,每个线程拥有独立的运行栈和程序计数器(pc, program counter register),线程切换开销比较小。
- 一个进程中的多个线程可以共享相同的内存单元/内存地址空间(它们从同一堆中分配对象,方法区、堆),可以访问相同的变量和对象。使得线程间通信更高效、便捷。但是多个线程操作共享的系统资源可能会带来安全隐患。
并行与并发
- 并行:多个CPU同时执行多个任务。
- 并发:一个CPU(采用时间片)同时执行多个任务。如:秒杀。

