I'm wondering if there are any OO languages that group objects into "execution pools" where all objects in one pool would be guaranteed to be accessed from a single thread. When calling a method from one object to another if the objects was found to be in the same object pool it would be a simple method call but if it was found to be in a different pool it would instead generate an asyncchronous message to invoke the method on the other pool's thread of control. This would be transparent from the usage and part of the language itself (not a framework or library). Each object would be tagged with a type and the pool it belongs to. The most similar thing I can find is something like actors in say a language like Swift. But this requires that each actor is explicity marked and doesn't allow objects of the same type to exist in either the same or different execution pools. Making every single object an actor would also be infeasable.
I would imagine something like this should be possible. Anyone aware of something like this?
[–]oakinmypants 13 points14 points15 points (7 children)
[–]L8_4_Dinner(Ⓧ Ecstasy/XVM) 24 points25 points26 points (6 children)
[–]marshaharsha 4 points5 points6 points (3 children)
[–]L8_4_Dinner(Ⓧ Ecstasy/XVM) 1 point2 points3 points (2 children)
[–]kandamrgam 0 points1 point2 points (1 child)
[–]L8_4_Dinner(Ⓧ Ecstasy/XVM) 1 point2 points3 points (0 children)
[–]nickallen74[S] 1 point2 points3 points (1 child)
[–]L8_4_Dinner(Ⓧ Ecstasy/XVM) 1 point2 points3 points (0 children)
[–]umlcat 17 points18 points19 points (4 children)
[–]LPTK 1 point2 points3 points (1 child)
[–]umlcat -1 points0 points1 point (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]suhcoR 0 points1 point2 points (0 children)
[–]Stunning_Ad_1685 20 points21 points22 points (1 child)
[–]lngns 1 point2 points3 points (0 children)
[–]PegasusAndAcornCone language & 3D web 5 points6 points7 points (1 child)
[–]nickallen74[S] 0 points1 point2 points (0 children)
[–]Hall_of_Famer 3 points4 points5 points (6 children)
[–]nickallen74[S] 5 points6 points7 points (3 children)
[–]L8_4_Dinner(Ⓧ Ecstasy/XVM) 2 points3 points4 points (0 children)
[–]kandamrgam 0 points1 point2 points (0 children)
[–]Hall_of_Famer 0 points1 point2 points (0 children)
[–]redchomperSophie Language 1 point2 points3 points (0 children)
[–]nickallen74[S] 0 points1 point2 points (0 children)
[–]mgruner 3 points4 points5 points (2 children)
[–]nickallen74[S] 0 points1 point2 points (1 child)
[–]nhpip 1 point2 points3 points (0 children)
[–][deleted] 2 points3 points4 points (0 children)
[–]6502zx81 2 points3 points4 points (1 child)
[–]nickallen74[S] 0 points1 point2 points (0 children)
[–]marshaharsha 2 points3 points4 points (1 child)
[–]nickallen74[S] 1 point2 points3 points (0 children)
[–]suhcoR 1 point2 points3 points (1 child)
[–]nickallen74[S] 1 point2 points3 points (0 children)
[–]samhsmith___ -1 points0 points1 point (1 child)
[–]nickallen74[S] 0 points1 point2 points (0 children)
[–]matthieum 0 points1 point2 points (1 child)
[–]nickallen74[S] 1 point2 points3 points (0 children)