Java基础之多线程系列一:原理

并发和并行

  • 并发(concurrency):指在同一时刻只能有一条指令执行,但多个进程指令被快速的轮换执行,使得在宏观上具有多个进程同时执行的效果,但在微观上并不是同时执行的,只是把时间分成若干段,使多个进程快速交替的执行。
  • 并行(parallel):指在同一时刻,有多条指令在多个处理器上同时执行。所以无论从微观还是从宏观来看,二者都是一起执行的。

进程与线程

两者的概念区别如下:

进程线程
概念是指一个内存中运行的应用程序是进程的一个执行单元,负责当前进程中程序的执行
描述操作系统分配资源的最小单位程序执行的最小单位
地址空间进程之间是独立的地址空间同一进程的线程共享本进程的地址空间
资源拥有进程之间资源独立同一进程内的线程共享本进程的资源如内存、I/O、cpu等
执行过程个独立的进程程有一个程序运行的入口、顺序执行序列和程序入口线程不能独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制
开销进程执行开销大线程执行开销小
资源保护能够很好的进行资源管理和保护不利于资源的管理和保护
适用进程可以跨机器前移线程适合在SMP机器(双CPU系统)上运行
使用对资源的管理和保护要求高,不限制开销和效率时,使用多进程要求效率高,频繁切换时,资源的保护管理要求不是很高时,使用多线程

线程调度

  • 分时调度:所有线程轮流使用CPU的使用权,平均分配每个线程占用CPU的时间;
  • 抢占式调度:优先让优先级高的线程使用CPU,如果线程优先级相同,那么会随机选择一个(线程随机性),Java使用的为抢占式调度。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值