Struct vs. Class
Chris via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Fri Jun 26 04:39:20 PDT 2015
On Friday, 26 June 2015 at 11:28:38 UTC, Daniel Kozák wrote:
>
> On Fri, 26 Jun 2015 11:11:15 +0000
> Chris via Digitalmars-d-learn
> <digitalmars-d-learn at puremagic.com> wrote:
>
>> I have still some classes lying around in my code. As
>> threading is becoming more and more of an issue, classes and
>> OOP in general turn out to be a nuisance. It's not so hard to
>> turn the classes into structs, a lot of classes are in fact
>> singletons (yes, I've been kinda fading out classes for a
>> while now). My question is now, what do I have to keep in mind
>> if I turn a cached class into a cached struct, i.e.
>>
>> initProgram()
>> {
>> auto myClass = new AwesomeDoEverything.instance(); // lives
>> for the rest of the program, is a singleton
>> }
>>
>> // ...
>>
>> myClass.call(input);
>>
>> initProgram()
>> {
>> auto myStruct = AwesomeDoEverything(); // lives for the
>> rest
>> of the program
>> }
>>
>> // ...
>>
>> myStruct.call(input); // Can live in different threads
>> without
>> reinitializing it.
>>
>> Or is there a way I can make a singleton class "thread-able"?
>>
>> I cannot afford to re-initialize certain classes / structs
>> because I don't wanna hit the file system every time I do so.
> bad link: http://dlang.org/phobos/std_concurrency.html#.initOnce
Thanks a million! This might do the trick and my classes can live
happily ever after :-)
More information about the Digitalmars-d-learn
mailing list