什么's的作用;隔离“;在V8中?以及如何可能使“;隔离“;孤立地
What's the role of "Isolate" in V8? and how can it be possible to make "Isolate" isolately?
到目前为止我发现的"隔离"的解释。
exp#1:http://izs.me/v8-docs/classv8_1_1Isolate.html
"Isolate代表V8发动机的一个孤立实例。V8隔离具有完全独立的状态。一个隔离区中的对象不得用于其他隔离区。初始化V8时,会隐式创建并输入默认隔离。嵌入程序可以创建额外的隔离,并在多个线程中并行使用它们。在任何给定时间,最多可以由一个线程输入隔离。锁定器/解锁器API可用于同步。"
exp#2:https://developers.google.com/v8/get_started
"隔离是一个有自己堆的VM实例。"
好的,我明白了。"隔离"是一个可以单独操作的隔离线程。以下是我的问题。
-
对我来说,它看起来就像线程,只是它有自己的堆。有什么不同吗?
-
我认为"隔离"可以用于实现并发GC。上面的定义说,每个"隔离"不能用于其他"隔离"。但是并发GC应该检查(或标记)主(或其他)线程(或隔离)的活动对象。这怎么可能?
-
如何才能保护自己的物品?"隔离"是一个线程,而不是一个进程。因此,如果其他线程知道地址,它就可以访问该线程的对象。如何保护它?我无法理解自己堆的意义。因为如果其他线程知道地址,它可以被其他线程访问。普通线程可以在内存空间中拥有它们的堆。由于堆的地址空间并没有完全分开,但如果一个线程占用了一个内存,除非其他线程知道地址,否则其他线程怎么能使用它?每个线程只是malloc自己的堆空间,而"隔离"有自己的堆空有什么区别?
我的问题可以很容易地概括为"隔离"的作用是什么,如何才能拥有自己的堆空间,以及为什么必须拥有自己的堆栈。
如果有人分享一些"隔离"的好文档,那将是非常有帮助的。感谢阅读。
----把问题说清楚----我问题的关键是Q: 是什么让谷歌在V8中实现隔离?隔离的好处是什么?在V8中使用隔离的一个好例子是什么?它们(隔离物)同时执行什么?
- 对我来说,它看起来就像线程,只是它有自己的堆。有什么不同吗
它们是正交的,一个线程一次可以执行多个隔离,而一个隔离一次只能由一个线程执行。当然,一个隔离可以由不同的线程在不同的时间执行,但这可能并不常见。隔离只是JavaScriptVM的一个实例,它只有自己的JavaScript堆,正常的进程堆仍然在进程中正常共享。
- 我认为"隔离"可以用于实现并发GC。上面的定义说,每个"隔离"不能用于其他"隔离"。但是并发GC应该检查(或标记)主(或其他)线程(或隔离)的活动对象。这怎么可能
Mark&扫描GC可以从另一个线程同时执行。其他GC操作,如压缩扫描、清除和标记,只能在JS不在隔离中执行时执行。
- 如何才能保护自己的物品?"隔离"是一个线程,而不是一个进程。因此,如果其他线程知道地址,它就可以访问该线程的对象。如何保护它?我无法理解自己堆的意义。因为如果其他线程知道地址,它可以被其他线程访问。普通线程可以在内存空间中拥有它们的堆。由于堆的地址空间并没有完全分开,但如果一个线程占用了一个内存,除非其他线程知道地址,否则其他线程怎么能使用它?每个线程只是malloc自己的堆空间,而"隔离"有自己的堆空有什么区别
你不知道地址,也不可能让它坚持使用V8 API。即使你能得到地址,这个地址使用起来也不安全,因为V8不断地移动堆中的东西。malloc不会返回指向某个隔离区的js堆的地址,因为很明显,隔离区已经对内存进行了malloc操作。
隔离:我们可以使用V8的单个实例独立运行多个JavaScript函数。
- 有可能过滤来自嵌入式YouTube的声音吗
- Webpack/Rect:遵循egghead.io教程,但出现错误:您可能需要一个合适的加载程序来处理此文件类型
- 有任何可能将facebook实时信使整合到一个网站中
- 如何使用ngrepeat和双向绑定获得指令的隔离范围
- 将事件处理程序绑定到任何可能的事件
- ReactJS和SpringDataRest缓存问题可能与websocket有关
- 从控制器继承了隔离的作用域以生成可重用的指令
- 有没有可能确定我博客的访问者的性别
- 同一项怎么可能在一个实例中未定义,却在另一个实例上定义
- 边栏按钮和infoWindow是否可能有不同的内容
- 两个指令创建新的继承的和隔离的作用域-元素得到哪个
- Livereload for node.js.有可能吗
- 有没有可能有多个有棱角和咕哝的跑步块
- AngularJS指令隔离作用域
- 是否有任何可能的原因使我应该指定类型=“”;按钮“;用于我的按钮元素
- 有可能在来自链接的警报中有一个值吗
- 检测网站是否被直接访问.是否可能
- 查找AJAX获取和发布时使用的网络数据的obsolute或可能的估计值
- 什么's的作用;隔离“;在V8中?以及如何可能使“;隔离“;孤立地
- 是否有可能知道用户何时点击YouTube视频上的广告