详解Java线程与进程

一个程序(比如:游戏)可以同时对应几个进程,一个进程对应一个程序,而一个进程可以有多个线程(至少有一个线程),很多多线程是模拟出来的,真正的多线程是指多个CPU,CPU在同一个时间只能执行一个代码,因为CPU执行速度很快就会有一种同时执行的错觉。

一、什么是进程

进程是资源(CPU、内存等)分配的基本单位,它是程序执行时的一个实例。程序运行时系统就会创建一个进程,并为它分配资源,然后把该进程放入进程就绪队列,进程调度器选中它的时候就会为它分配CPU时间,程序开始真正运行。进程的优点是提高CPU运行效率,在同一时间内执行多个程序,即并发执行。但是从严格上讲,也不是绝对的同一时刻执行多个程序,只不过CPU在执行时通过时间片等调度算法不同进程高速切换。进程类似于人类,是被产生的,有或长或短的有效生命,可以产生一个或多个子进程,最终都要消亡的。每个子进程都只有一个父进程。在这里顺带提下,Linux里通过调用fork()函数产生子进程。子进程在创建时,它几乎和父进程相同。它是从父进程的地址空间copy过来的。尽管它们可以共享有程序代码的页,但是它们各自有独立的数据空间。对子进程内存的修改不会影响父进程,反之亦然。

二、 什么是线程

线程是一条执行路径,是程序执行时的最小单位,它是进程的一个执行流,是CPU调度和分派的基本单位,一个进程可以由很多个线程组成,线程间共享进程的所有资源,每个线程有自己的堆栈和局部变量。线程由CPU独立调度执行,在多CPU环境下就允许多个线程同时运行。同样多线程也可以实现并发操作,每个请求分配一个线程来处理。线程是一条可以执行的路径。多线程就是同时有多条执行路径在同时(并行)执行。

三、线程与进程的特点

(1)进程特点:

1:独立性:进程是系统中独立存在的实体,它可以独立拥有资源,每一个进程都有自己独立的地址空间,没有进程本身的运行,用户进程不可以直接访问其他进程的地址空间。

2:动态性:进程和程序的区别在于进程是动态的,进程中有时间的概念,进程具有自己的生命周期和各种不同的状态。

3:并发性:多个进程可以在单个处理器上并发执行,互不影响。

(2)线程特点

1:轻型实体

线程中的实体单位基本上不拥有系统资源,只是有一点必不可少的、能保证独立运行的资源。线程的实体包括程序、数据和TCB。线程是动态概念,他的动态特性由线程控制块TCB描述。

2:独立调度和分派的基本单位

再多线程OS中,线程是能独立运行的基本单位,因而也是独立调度和分派的基本单位。但由于线程很“轻”,故线程的切换非常迅速且开销小(在统一进程中的)。

3:可并发执行

在一个进程中的多个线程之间,可以并发执行,甚至允许在一个进程中所有线程都能并发执行;同样,不同进程中的线程也能并发执行,充分利用和发挥了处理机与外围设备并行工作的能力。

4:共享进程资源

在同一进程中的各个线程,都可以共享该进程所拥有的资源,这首先表现在:所有线程都具有相同的地址空间(进程的地址空间),这意味者,线程可以访问该地址空间的每一个虚地址;此外,还可以访问该进程所拥有的已打开文件、定时器、信号量机构等。由于同一个进程内的线程共享内存和文件,所以线程之间互相通信不必调用内核。

四、进程和线程的区别:

1、容易创建新线程。但是,创建新进程需要重复父进程。

2、线程可以控制同一进程的其他线程。进程无法控制兄弟进程,只能控制其子进程。

3、进程拥有自己的内存空间。线程使用进程的内存空间,且要和该进程的其他线程共享这个空间;而不是在进程中给每个线程单独划分一点空间。

4、(同一进程中的)线程在共享内存空间中运行,而进程在不同的内存空间中运行。

5、线程可以使用wait(),notify(),notifyAll()等方法直接与其他线程(同一进程)通信;而,进程需要使用“进程间通信”(IPC)来与操作系统中的其他进程通信。

以上就是关于大数据开发基础之JAVA线程进程的基础知识,学以致用是大数据里面最好的学习方式,能让你快速在行业中占领一席之地。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/220355.html<

(0)
运维的头像运维
上一篇2025-04-14 13:03
下一篇 2025-04-14 13:05

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注