关于jsruntime 的概念

In the JSAPI, JSRuntime is the top-level object that represents an instance of the JavaScript engine. A program typically has only one JSRuntime, even if it has many threads. The JSRuntime is the universe in which JavaScript objects live; they can't travel to other JSRuntimes.

All JavaScript code and most JSAPI calls run within a JSContext. The JSContext is a child of the JSRuntime. A context can run scripts. It contains the global object and the execution stack. Exception handlingerror reporting, and some language options are per-JSContext. Once created, a context can be used any number of times for different scripts or JSAPI queries. For example, a browser might create a separate context for each HTML page; every script in the page could use the same context.

Objects may be shared among JSContexts within a JSRuntime. There's no fixed association between an object and the context in which it is created.

Sample code to set up and tear down a JSRuntime and a JSContext is at JSAPI User Guide.

ThreadsSection

Only one thread may use a JSContext or JSRuntime.  Earlier versions allowed using JS_ClearContextThread and other functions to move a JSContext from one thread to another.  This feature has since been removed.

 

 

https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey/JSAPI_reference/JSRuntime

https://juejin.im/post/5a5d64fbf265da3e243b831f

posted @ 2019-07-13 09:46  kzc275  阅读(1049)  评论(0编辑  收藏  举报