JVM之线程实现

并发不一定要依赖多线程,PHP中有多进程并发。但是,Java里面的并发是多线程的。

1. 线程

参考:Java多线程之基本概念

线程是比进程更轻量级的调度执行单位。线程可以把一个进程的资源分配执行调度分开。一个进程里可以启动多条线程,各个线程可共享该进程的资源(内存地址,文件IO等),又可以独立调度。线程是CPU调度的基本单位。

1.1 实现线程的方式

主流OS都提供线程实现。Java语言提供对线程操作的同一API,每个已经执行start(),且还未结束的java.lang.Thread类的实例,代表了一个线程。

Thread类的关键方法,都声明为Native。这意味着这个方法无法或没有使用平台无关的手段来实现,也可能是为了执行效率。

1.1.1 使用内核线程实现

内核线程(Kernel-Level Thread, KLT)就是直接由操作系统内核支持的线程。

  • 内核来完成线程切换
  • 内核通过调度器Scheduler调度线程,并将线程的任务映射到各个CPU上
  • 程序使用内核线程的高级接口,轻量级进程(Light Weight Process,LWP)–>(!!!名字是进程,实际是线程)
  • 用户态和内核态切换消耗内核资源

1.1.2

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值