惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Blog — PlanetScale
Blog — PlanetScale
Vercel News
Vercel News
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
量子位
Y
Y Combinator Blog
IT之家
IT之家
博客园 - 聂微东
L
LangChain Blog
爱范儿
爱范儿
H
Help Net Security
GbyAI
GbyAI
F
Fortinet All Blogs
B
Blog
Microsoft Security Blog
Microsoft Security Blog
罗磊的独立博客
C
Check Point Blog
博客园 - 三生石上(FineUI控件)
小众软件
小众软件
D
DataBreaches.Net
Last Week in AI
Last Week in AI
WordPress大学
WordPress大学
B
Blog RSS Feed
酷 壳 – CoolShell
酷 壳 – CoolShell
宝玉的分享
宝玉的分享

博客园 - 那只狐狸

神奇的Task.WaitALl Redis的淘汰策略 压测工具k6 C#的Lock可以锁什么? SqlServer高性能批量插入 二叉树 二叉搜索树 AVL树 红黑树 关于GC 线上bug线下很难重现时的一次处理 自动化测试和联调的工具---apifox 事务管理思考 sleep、yield、wait的区别 线程异常 线程 JAVA线程中断 volatile synchronized在线程安全上的区别 jms amqp activemq rabbitmq的区别 servlet不是线程安全的 雪花算法 mysql在海量数据时的处理方案
线程与GC
那只狐狸 · 2022-11-20 · via 博客园 - 那只狐狸

托管线程在GC期间 从是否可以访问托管堆上的对象来说有两种模式

1.抢占模式,,不可以访问托管堆上的对象

2.合作模式,,可以自由访问托管堆上的对象

托管线程在GC期间会有两种模式的切换:

1.主动切换,,比如托管线程调用了非托管代码 那么在GC没有完成前 不能返回和访问托管堆(非托管代码可以访问非托管资源)

2.被动切换,,比如托管线程根据CLR生成的元数据中的GC安全点信息,中断托管线程的执行 切换到抢占模式(使用返回地址劫持的系统函数 或者发送信号的方式),GC完成之后再恢复托管线程到合作模式