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