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.