欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > 【Java】多线程-相关概念【主线学习笔记】

【Java】多线程-相关概念【主线学习笔记】

2025/2/24 0:22:54 来源:https://blog.csdn.net/CBCY_csdn/article/details/142904077  浏览:    关键词:【Java】多线程-相关概念【主线学习笔记】

文章目录

  • 前言
  • 1. 程序、进程和线程的区分:
  • 2. 线程调度策略:
  • 3. 单核CPU与多核CPU、并行与并发:


前言

Java是一门功能强大且广泛应用的编程语言,具有跨平台性和高效的执行速度,广受开发者喜爱。在接下来的学习过程中,我将记录学习过程中的基础语法、框架和实践技巧等,分享学习心得,对自己学习过程进行整理和总结,也希望能为其他学习Java的朋友提供一些帮助和参考。


1. 程序、进程和线程的区分:

  • 程序 (Program): 程序是为完成特定任务而编写的一组静态指令。它只是一段静态的代码,存储在磁盘上,没有实际执行。

  • 进程 (Process): 进程是程序的一次运行实例。它是一个动态的实体,在内存中执行并由操作系统管理。每个进程都有自己独立的地址空间和资源,是操作系统调度和资源分配的最小单位。不同的进程可以相互独立运行。

  • 线程 (Thread): 线程是进程中的执行路径。一个进程可以包含多个线程,这些线程共享进程的资源(如内存空间、文件句柄等),但可以独立调度和执行。线程是CPU调度和执行的最小单位。

2. 线程调度策略:

  • 分时调度 (Time-sharing Scheduling): 在分时调度中,操作系统将处理器时间分成小的时间片,然后将每个时间片分配给不同的线程/进程。各个线程轮流占用处理器,确保每个线程都能获得一定的执行时间。分时调度适用于公平竞争的环境。

  • 抢占式调度 (Preemptive Scheduling): 抢占式调度允许高优先级的线程中断正在执行的低优先级线程。一旦某个高优先级的线程准备好执行,操作系统可以立即暂停低优先级线程的运行,切换到高优先级线程。这种调度方式更适合实时系统和高优先级任务。

3. 单核CPU与多核CPU、并行与并发:

  • 单核CPU与多核CPU:
    单核CPU: 只有一个处理核心,每次只能执行一个任务(通过快速切换不同任务来模拟并发执行)。
    多核CPU: 包含多个处理核心,可以同时执行多个任务,支持真正的并行处理。每个核心可以独立运行自己的线程,减少切换的开销。

  • 并行 (Parallelism): 并行是在多核CPU环境下,多个任务真正同时在多个核心上执行。每个核心可以同时处理一个任务,提升执行效率。并行需要硬件支持(多核或多处理器系统)。

  • 并发 (Concurrency): 并发是在单核或多核环境下,通过任务切换模拟多个任务“同时”执行。实际上,任务是在非常短的时间内轮流运行,并没有真正同时执行。并发更多是通过操作系统的调度机制来实现。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词