JAVA基础之多线程--概念

学线程之前先要知道什么是“程序”、“进程”、“线程”。

“程序”指的是一个可执行文件,当我们双击该文件时,程序的内容即加载到内存中,产生该“程序”的“进程”。

“进程”是执行中的程序,我们可以同时开启多个进程,每个进程占用特定的内存空间,每个进程由3部分组成:cpu、data、code。

“线程”可以被称为轻量级进程,一个进程可以包含多个线程,这些线程之间共享进程的某些资源。具有如下特点:

  1. 一个进程内部的一个执行单元,它是程序中的一个单一的顺序控制流程。
  2. 一个进程可拥有多个并行的(concurrent)线程。
  3. 一个进程中的多个线程共享相同的内存单元/内存地址空间,可以访问相同的变量和对象,而且它们从同一堆中分配对象并进行通信、数据交换和同步操作。
  4. 由于线程间的通信是在同一地址空间上进行的,所以不需要额外的通信机制,这就使得通信更简便而且信息传递的速度也更快。
  5. 线程的启动、中断、消亡,消耗的资源非常少。

JVM会为每一个线程开辟一个栈,栈是一段连续的内存空间。
栈类似于子弹夹,具有先进后出,后进先出的特点。
每一个方法被调用时,都会在栈中开辟一个栈帧,用以存储局部变量及其对应基本数据类型的值、对象的引用等。
方法的调用和完成对应入栈和出栈的过程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值