On Thursday, 14 November 2013 at 20:00:10 UTC, Jacek Furmankiewicz wrote:
I looked at the dcollections docs, but none of their collections seem thread safe. The vibe.d I guess is because it is meant to be used from async I/O in a single thread...but once you add multi-threading to an app I am guessing it would not be usable.

No, you can:
1) Use different hashmap per tread. I don't know your situation, but it can be possible fo read-only cache like this:

import vibe.utils.hashmap;

HashMap!(int, int) map;

void foo()
{
   //use map
   map[1] = 1;
}

2) Use `shared` storage class and mutex like this:

import vibe.utils.hashmap;

shared HashMap!(int, int) map;

void foo()
{
   synchronized
   {
      //use map
      map[1] = 1;
   }
}

Reply via email to