进程与线程

进程:是操作系统资源分配的最小单位 例:IO资源,内存资源
线程:是进行资源调度的单位,是实在的一条执行指令

Java内存模型
线程共享区:方法区 堆区
线程私有区: 虚拟机栈 本地方法栈 程序计数器

进程与线程的关系:
对应关系:一个进程可以对应多个线程
健壮性:进程与进程相互隔离,一个进程崩溃不会影响其他进程
一个线程崩溃导致整个进程崩溃
进程的健壮性要比线程强
资源:创建意味着开辟内存空间,在同一个进程下的线程共享部分空间
开辟一个进程相比线程资源占用要多

Java进程,线程和操作系统的关系

	|  进程  | 线程

java | runtime.exe | Thread |
---------------------------------------**
Linux | fork,vfork |pthread_create

所有语言编译 -> 1.指令 2.数据
总线 -> 1.控制总线 2.地址总线 3.数据总线

0X23452 -> 虚拟地址

虚拟地址和物理地址的映射问题
以x86体系的32位系统为例 一个虚拟地址空间大小: 2^32 = 内存4G

    ------------------------ 0x00000000
    预留空间  
    ------------------------ 0x08048000
    .txt(指令) .rodata(常量区)
    ------------------------
    .data .bss(数据段)
    ------------------------ 
    .heap(堆)
    ------------------------
    .stack(栈)
    ------------------------ 0xc0000000
    kernel space(内核空间)
    ------------------------ 0xffffffff

用户空间 3G 内核空间 1G

内核空间进程共享,用户空间是隔离的 -> 进程之间是隔离的

进程通信 -通信方式
信号量,管道,消息队列
在内核空间开辟空间进行数据传递,一个进程写数据,其他进程也就可以看

内存共享(进程间)
a进程-》a虚拟内存空间 -》 物理内存空间
b进程-》b虚拟内存空间 -》 物理内存空间

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值