线程与进程

首先,应用程序是一个存储在计算机系统的硬盘等存储空间中的静态文件,而处于可执行状态中的应用程序称为进程进程是应用程序的一个执行过程。从操作系统角度看,进程是操作系统分配内存,cpu时间片等资源的基本单位,为正在运行的程序提供运行环境。

在unix操作系统中,进程是系统资源分配的基本单位。Unix操作系统也会自己启动进程,用于管理内存资源以及对用户进程进行调度,无论是操作系统自己创建的进程还是由应用程序执行的进程,都拥有唯一的进程标识PID。

线程是进程的一个实体,是cpu调度和分派的基本单元,是比进程更小的能够独立运行的基本单位。线程自己基本上不拥有系统资源,只拥有非常少的在运行中必不可少的资源,比如程序计数器,一组寄存器和栈,同一个进程的所有线程共享进程所有的内存等进程的全部系统资源

同一个进程中的多个线程之间可以并发执行

每个线程有一个程序的入口,一个出口,和顺序执行的代码序列。线程不可以独立执行,必须要处在活动状态的应用程序进程中。

Unix操作系统支持的是多用户,多进程的并发执行,而java语言支持的是应用程序的进程内部的多个线程的并发执行

多线程指的是同一个应用程序的多个逻辑单元的并发执行,提高运行效率。

进程可以创建子进程子进程与父进程拥有不同的可执行代码和数据内存空间。同一个进程中的线程共享该进程的内存数据空间,但是每个线程拥有独立的执行堆栈和执行上下文。

在应用程序中使用多线程不会增加cpu的数据处理能力,只有在多cpu的计算机或者网络计算体系结构下,将java程序划分为多个并发执行的线程,使不同的线程运行在基于不同的处理器的java虚拟机中,才能够提高应用程序的执行效率。

总的来说就是,进程可以由操作系统分配内存单元的系统单元,线程是进程的小的实体,一个进程中可以有多个线程并发执行,线程不可以由操作系统分配内存单元等系统资源,但是可以共享其进程的内存单元等系统资源,线程的执行要依赖于其进程。每一个进程有一个唯一的PID,进程是应用程序的一个执行过程。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值