I understand the idea of a v8::Isolate, and I understand that everything that runs, runs inside of a v8::Context that is associated with an isolate. Contexts associated with different isolates cannot share anything.
My question is, what does it mean to have multiple contexts in a single isolate? What is shared between the contexts? What is discrete between them? When can you make something in one and use it in another? Often in the API it seems almost arbitrary if something takes an isolate or a context while creating it.
Also, any suggestions as to use cases for multiple contexts in a single isolate would be welcome to help me start to understand them better.
I see this question: What exactly is the difference between v8::Isolate and v8::Context? but it doesn't really go into details as to how/why you'd use multiple contexts in a single isolate.
Thank you.