[ Boris B. @ 09.03.2011. 09:13 ] @
Ako imam više threadova u jednom .Net AppDomain-u, kako bih mogao da izmenjujem objekte između njih ako je jedini način komunikacije slanje poruka kroz unmanaged layer: Code: Thread1 Unmanaged layer Thread2 ====================================================== | | | | | | new A() | | | | | | | | Send(A) -----------> Rcv(A) | | | | | | | EndThread() Enqueue(A) | | | | | Send(A) -----------> Rcv(A) | | ... Unmanaged layer zna da prima i šalje byte[]. Isto tako onaj koji šalje poruku ne zna koliko ima "slušalaca" za poruku, možda nema nijedan. Serijalizacija i deserijalizacija objekta jeste opcija, ali me na prvom mestu zanima da li postoji način da pretvorim referencu na objekat u nešto kao pointer, i da pritom prevarim GC da ne kolektuje taj objekat, pošto neko vreme dok je u queue-u umanaged layera niko u AppDomainu nece imati refrenecu na njega. Pada mi na pamet i neki resource manager koji ce da bude zaduzen za kreiranje i referenciranje objekata, ali je u tom slucaju problem kako znati trenutak kada treba pustiti referencu. |