digitalmars.D.learn - gc
- sclytrack (1/1) Mar 27 2010 Is it possible to have multiple gc
- sclytrack (30/30) Mar 27 2010 gc1 thread1
- Simen kjaeraas (11/25) Mar 28 2010 This has been discussed for D2's concurrency system, often in conjunctio...
gc1 thread1 thread2 thread3 gc2 thread4 thread5 when the gc1 cycles it does not block the gc2 threads. Would that be of any use? Or possible. And only use communication like between two processes, some interprocess communication message passing thing. I mean the entire pure thing makes heavy use of the garbage collector, maybe isolating them is a solution, just let it cycle independent from the rest. But on the other hand you could just make two processes. Reflection------>Serialization----->Remoting 1) Reflection transient [NonSerialized] 2) Serialization Some form of reflection would be handy to simplify the serialization. Also the use of the notion "Property" comes in handy, as to which fields are selected. 3) Remoting There are serialization libraries outside of phobos like in tango but they must be put into phobos itself and the Exception needs to be serializable too in order for the "remoting" thing to work. from exceptions, you need to make sure that the exception class is serializable. class Exception:ISerializable { } I can't find the Exception class anywhere, where is that defined? in core.exception there is some Error stuff. Is it defined in the compiler then?
Mar 27 2010
sclytrack <idiot hotmail.com> wrote:gc1 thread1 thread2 thread3 gc2 thread4 thread5 when the gc1 cycles it does not block the gc2 threads. Would that be of any use? Or possible. And only use communication like between two processes, some interprocess communication message passing thing. I mean the entire pure thing makes heavy use of the garbage collector, maybe isolating them is a solution, just let it cycle independent from the rest. But on the other hand you could just make two processes.This has been discussed for D2's concurrency system, often in conjunction with per-thread heaps. The most likely system (as far as I've understood), is a global GC in the main thread, that takes care of shared objects, and per-thread GCs for thread-local storage. Problems may occur when objects are moved from one thread to another, or when created in one thread and later cast to shared. Granted, I am no GC expert, so everything written above should be taken a pinch or two of salt. -- Simen
Mar 28 2010