Java 线程 1
来源:互联网 发布:算法工程师 老了 编辑:程序博客网 时间:2024/05/23 14:32
参考:
Java 线程 0 - 前言
下面学习 Java
中进程和线程的概念以及它们之间的关系
主要内容:
- 进程
- 线程
Java
中进程和线程
进程
参考:
进程
Java进程的理解
进程(process
)是程序的基本执行实体,是进行 资源分配和调度 的 基本单位
进程拥有独立的地址空间,包括文本区域(text region
),数据区域(data region
)和堆栈(stack region
)
线程
参考:线程
线程是进程中的一个实体,是系统 独立调度和分派 的 最小单位,使得同一个进程可以同时并发处理多个任务,线程也被称为轻量级进程(Lightweight Process
)
线程除拥有极少的运行中必不可少的资源(拥有自己的堆栈,程序计数器,局部变量)外,和其它线程共享进程的全部资源(进程代码段,公有数据等)
并发性和并行性
并发性:同一时刻只能有一条指令执行,但多个进程指令被快速轮换执行,使得在宏观上具有多个进程同时执行的效果
并行性:同一时刻,有多条指令在多个处理器上同时执行
Java
中线程和进程
Java
中线程和进程参考:Java获取当前进程ID以及所有Java进程的进程ID
Java
环境下,启动一个程序,通常对应于启动一个进程,并且至少会启动一个名称为 main
的线程。测试代码如下:
import java.lang.management.ManagementFactory;import java.lang.management.RuntimeMXBean;/** * Created by zj on 2017/10/16. */public class MyProcess { public static void main(String[] args) { MyProcess process = new MyProcess(); System.out.println("pid: " + process.getProcessID()); System.out.println("thread name: " + Thread.currentThread().getName()); System.out.println("thread id: " + Thread.currentThread().getId()); } public int getProcessID() { RuntimeMXBean runtimeMXBean = ManagementFactory.getRuntimeMXBean(); return Integer.valueOf(runtimeMXBean.getName().split("@")[0]); }}
阅读全文
0 0
- Java线程模型、线程状态 - 线程(1)
- java 线程1 线程分类
- Java线程教程1
- Java线程同步 1
- Java线程基础1
- Java线程(1)
- java线程1
- Java线程池-1
- JAVA线程同步(1)
- Java线程初步1
- Java线程笔记1
- java线程(1)
- java线程学习1
- 1-Java创建线程
- Java线程1:概述
- 学习JAVA--线程1
- Java线程1
- Java线程池(1)
- springboot(集成篇):RabbitMQ集成详解
- CLNP
- Linux驱动修炼之道-SPI驱动框架源码分析(中)
- iOS 面试题~用@property声明NSString(或NSArray,NSDictionary)经常使用copy关键字,为什么?如果改用strong关键字,可能造成什么问题?
- mysql Linux备份数据库
- Java 线程 1
- 『0016』
- 提取JSON中的value
- WebAPI记录发布4
- Ace Editor在线Web编辑代码强力武器
- mysql问题之infomation_schema
- leetcode 62|63. Unique Paths 1|2
- 纯web前端还能活多久
- socket select failed selinux