java多线程概念
来源:互联网 发布:淘宝商城 天猫衣服 编辑:程序博客网 时间:2024/06/05 18:08
进程是指运行中的程序,每一个进程都有自己独立的内存空间。一个应用程序可以启动多个线程。每次执行java.exe程序,就启动了一个独立的java虚拟机进程,该进程的任务是解析并执行java程序代码。线程是指进程中的一个执行流程,有时也称为执行场景。一个进程可以由多个进程组成,即在一个进程中可以同时运行多个不同的线程,它们分别执行不同的任务。当进程中的多个线程同时执行时,这种运行方式称为并发运行。
线程与进程的区别在于:每个进程都需要操作系统为其分配独立的内存地址空间。而同一进程中的所有线程在同一地址空间工作,这些线程可以共享同一块内存和系统资源,比如共享一个对象或者共享一个打开的文件
Java线程的运行机制
在Java虚拟机进程中,执行程序代码的任务是由线程来完成的。每个线程都有一个独立的程序计数器和方法调用栈
程序计数器:也称为PC寄存器,当线程执行一个方法时,程序计数器指向方法区中下一条要执行的字节码指令
方法调用栈:简称方法栈,用来跟踪线程运行中一系列的方法调用过程,栈中的元素称为栈帧。每当线程调用一个方法的时候,就会向方法栈压入一个新栈。栈来存储方法的参数,局部变量和运算中产生的临时数据
栈帧由三部分组成:
(1)局部变量区:存储局部变量和方法参数
(2)操作数栈:是线程的工作区,用来存储运算过程中产生的临时数据
(3)栈数据区:为线程执行指令提供相关的信息,包括如何定位到位于堆区和方法区的特定数据,以及如何正常退出方法或异常中断方法
每当用方法开始执行
(当执行完方法时,栈帧会从
方法区存储了线程所执行的字节码指令,堆区存放了线程所操作的数据(以对象的方式存放),Java栈区则是线程的工作区,保存线程的工作状态
线程与进程的区别在于:每个进程都需要操作系统为其分配独立的内存地址空间。而同一进程中的所有线程在同一地址空间工作,这些线程可以共享同一块内存和系统资源,比如共享一个对象或者共享一个打开的文件
Java线程的运行机制
在Java虚拟机进程中,执行程序代码的任务是由线程来完成的。每个线程都有一个独立的程序计数器和方法调用栈
程序计数器:也称为PC寄存器,当线程执行一个方法时,程序计数器指向方法区中下一条要执行的字节码指令
方法调用栈:简称方法栈,用来跟踪线程运行中一系列的方法调用过程,栈中的元素称为栈帧。每当线程调用一个方法的时候,就会向方法栈压入一个新栈。栈来存储方法的参数,局部变量和运算中产生的临时数据
栈帧由三部分组成:
(1)局部变量区:存储局部变量和方法参数
(2)操作数栈:是线程的工作区,用来存储运算过程中产生的临时数据
(3)栈数据区:为线程执行指令提供相关的信息,包括如何定位到位于堆区和方法区的特定数据,以及如何正常退出方法或异常中断方法
每当用方法开始执行
(当执行完方法时,栈帧会从
方法区存储了线程所执行的字节码指令,堆区存放了线程所操作的数据(以对象的方式存放),Java栈区则是线程的工作区,保存线程的工作状态
阅读全文
0 0
- Java多线程概念
- Java 多线程的概念
- Java多线程:概念
- java多线程概念总结
- java多线程概念
- Java 多线程常用概念
- Java多线程概念总结
- Java多线程:概念
- java多线程基础概念
- Java多线程中的概念
- Java 多线程概念
- java多线程-基础概念
- Java多线程基础概念
- java多线程概念
- java多线程-概念和作用
- java多线程概念和原理
- java多线程:概念和原理
- Java多线程-概念与原理
- 【JavaScript 】switch 语句
- Dell vostro 3667重装系统
- Thinking in java 读书笔记1
- VMware的快照和克隆总结
- 【JavaScript 】for 循环
- java多线程概念
- solr集群搭建
- python -for与range()例子
- 数据结构--图的遍历(二)
- 用python下载美剧《天蝎》
- 【JavaScript 】while 循环
- 4用于cifar10的卷积神经网络-4.23正则化损失的比重对模型正确率曲线的影响分析
- Elasticsearch(分析和分析器)
- 电平转换电路