vibed - best approach to manage central state (cached records)
Laeeth Isharc via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Sun Apr 12 10:06:44 PDT 2015
On Sunday, 12 April 2015 at 10:04:53 UTC, Marc Schütz wrote:
> On Saturday, 11 April 2015 at 19:24:22 UTC, Laeeth Isharc wrote:
>> Hi.
>>
>> Two questions:
>>
>> 1. On startup I load various indexes from file storage into
>> memory in the shared static this segment, and I would like to
>> access these from threads serving web requests. The data can
>> be considered immutable once loaded.
>>
>> What is the best way to make this data accessible? Obviously
>> static doesn't work as the threads have their own storage (I
>> think this is what is happening). __gshared works, but is
>> there a better approach?
>
> You can declare the cache as `immutable` (which is shared
> across threads) and assign to it using `assumeUnique()`. You
> just need to make sure the initialization really happens only
> once, i.e. do it in `main()` or in `shared static this()` as
> opposed to `static this()`.
Thanks.
Laeeth
More information about the Digitalmars-d-learn
mailing list