On Thu, 30 Apr 2015 16:17:10 -0400, Adam D. Ruppe <destructiona...@gmail.com> wrote:

On Thursday, 30 April 2015 at 20:07:11 UTC, bitwise wrote:
destructors are called on a separate thread, in parallel to the main thread. Is this correct?

Not necessarily. the way the GC works in D today is whenever any thread allocates, it runs the GC functions which might do a collection. This is where the destructors run, too.

So a destructor may be run by whatever random thread happened to run out of memory and triggered the collection cycle.

What about structs? Are the destructors called when they go out of scope in a C++ RAII fashion, or do they happen on a separate thread too?

structs work basically the same as C++, yes.


I don't know about your third thing...


Well, the third thing was just my reasoning for asking in the first place. I need to be able to acquire/release shared resources reliably, like an OpenGL texture, for example.

Come to think of of though, I haven't thought this issue through with regard to multi-threaded rendering, so I guess I'll have to think of something more clever than a ref-counted texture..

 Thanks
   Bitwise

Reply via email to