线程:::::::
JVM系统线程
每个线程相关的
程序计数器
栈
本地栈
限制栈
栈帧
局部变量数组
操作数栈
动态链接
线程共享::::::::
堆
内存管理
非堆内存
即时编译
方法区
类文件结构
类加载器
更快的类加载器
方法区在哪里
类加载器参考
运行时常量池
异常表
符号表
interned字符串
线程-----------------------------
这里所说的线程指程序执行过程中的一个线程实体。
JVM允许一个应用并发执行多个线程。
Hotspot JVM中的java线程与原生操作系统线程有直接的映射关系
当线程本地存储,缓冲区分配,同步对象,栈,程序计数器等
准备好以后,就会创建一个操作系统原生线程。
java线程结束,原生线程随之被回收
操作系统负责调度所有线程,并把他们分配到任何可用的CPU上。
当原生线程初始化完毕,就会调用java线程的run()方法
run()返回时,被处理未捕获异常,原生线程将确认由于它的
结束是否要终止JVM进程(比如这个线程是最后一个非守护
线程)。当线程结束时,会释放原生线程和java线程的
所有资源
window常用的几种同步对象
1,互斥对象Mutex
函数:
CreateMutex//有带名字
ReleaseMutex
与waiForSingleObject(mutex,INFINITE),配合使用功能;
因为有带名字,所以可以用来同步不同的进程
2,同步对象CriticalSection
只能用于一个进程内部的线程间的同步
3,事件对象Event
Event对象可以被分为两种:一种是自动复位对象,一种是
JVM系统线程
每个线程相关的
程序计数器
栈
本地栈
限制栈
栈帧
局部变量数组
操作数栈
动态链接
线程共享::::::::
堆
内存管理
非堆内存
即时编译
方法区
类文件结构
类加载器
更快的类加载器
方法区在哪里
类加载器参考
运行时常量池
异常表
符号表
interned字符串
线程-----------------------------
这里所说的线程指程序执行过程中的一个线程实体。
JVM允许一个应用并发执行多个线程。
Hotspot JVM中的java线程与原生操作系统线程有直接的映射关系
当线程本地存储,缓冲区分配,同步对象,栈,程序计数器等
准备好以后,就会创建一个操作系统原生线程。
java线程结束,原生线程随之被回收
操作系统负责调度所有线程,并把他们分配到任何可用的CPU上。
当原生线程初始化完毕,就会调用java线程的run()方法
run()返回时,被处理未捕获异常,原生线程将确认由于它的
结束是否要终止JVM进程(比如这个线程是最后一个非守护
线程)。当线程结束时,会释放原生线程和java线程的
所有资源
window常用的几种同步对象
1,互斥对象Mutex
函数:
CreateMutex//有带名字
ReleaseMutex
与waiForSingleObject(mutex,INFINITE),配合使用功能;
因为有带名字,所以可以用来同步不同的进程
2,同步对象CriticalSection
只能用于一个进程内部的线程间的同步
3,事件对象Event
Event对象可以被分为两种:一种是自动复位对象,一种是