Sure, a single thread can use as many Isolates as it wants. Most V8 API
functions take an Isolate or a Context (which implies an Isolate) parameter
to facilitate this.

Things to keep in mind:
- creating an Isolate is somewhat expensive, so creating millions of
short-lived Isolates is not great for performance. (Having dozens or even
hundreds of long-lived Isolates is perfectly fine.)
- objects (including functions, contexts, ...) are tied to the Isolate they
were created in. They can't be moved to, or executed in, or accessed from
another Isolate.


On Thu, Dec 19, 2019 at 8:25 AM Cooper Kuo <gkbinf...@gmail.com> wrote:

> Hi, I am working out of a v8 embedder, I want to use multiple isolates at
> the same time, and these isolates should run in one thread, because there
> are some thrid-party framework api should be called inside main thread.
>
> In v8 official reference
> <https://v8docs.nodesource.com/node-12.0/d5/dda/classv8_1_1_isolate.html> 
> about
> v8::Isolate:
>
> Isolate
>> <https://v8docs.nodesource.com/node-12.0/d5/dda/classv8_1_1_isolate.html> 
>> represents
>> an isolated instance of the V8
>> <https://v8docs.nodesource.com/node-12.0/df/d43/classv8_1_1_v8.html>
>>  engine. V8
>> <https://v8docs.nodesource.com/node-12.0/df/d43/classv8_1_1_v8.html> isolates
>> have completely separate states. Objects from one isolate must not be used
>> in other isolates. The embedder can create multiple isolates and use them
>> in parallel in multiple threads. An isolate can be entered by at most one
>> thread at any given time. The Locker/Unlocker API must be used to
>> synchronize.
>
>
> It is apparently that I can use one isolate in one thread, even one
> isolate in multiple threads, but there is no description about "multiple
> isolates in one thread".
>
> --
> --
> v8-users mailing list
> v8-users@googlegroups.com
> http://groups.google.com/group/v8-users
> ---
> You received this message because you are subscribed to the Google Groups
> "v8-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to v8-users+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/v8-users/ace604a3-1d78-4162-9e24-e161bb5cc9f6%40googlegroups.com
> <https://groups.google.com/d/msgid/v8-users/ace604a3-1d78-4162-9e24-e161bb5cc9f6%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
-- 
v8-users mailing list
v8-users@googlegroups.com
http://groups.google.com/group/v8-users
--- 
You received this message because you are subscribed to the Google Groups 
"v8-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to v8-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/v8-users/CAKSzg3RmMQCGQNXkHX656Kd5tqbJCRQPBBBjzeVha2nypSn%3DTg%40mail.gmail.com.

Reply via email to