Q:

Singleton Factory Member Function Thread Safety

I want a singleton factory that generates IPropertyMapper objects. The factory has a dictionary which holds references to Func delegates.  The dictionary is immutable, i just want fast access.  Will this code below be thread-safe? Is calling Create() thread safe?
class definition:
public sealed class PropertyMapperFactory
    {
        private static readonly PropertyMapperFactory _instance = new PropertyMapperFactory();

        private readonly Dictionary<int, Func<TResult>> _handlers;

        private PropertyMapperFactory() {
            this._handlers = new Dictionary<...>();
            this._setTimeHandler();
        }

        public static PropertyMapperFactory GetFactory() {
            return _instance;
        }

        //Is this thread safe?
        public IPropertyMapper Create(UnitSetting _units ) {
            return new PropertyMapper(this.handler[0])
        }            

A:

The Dictionary<TKey, TValue> type is generally regarded as safe to read from concurrent threads, but that all write operations must be completely isolated (no other writes--or reads--at the same time). If you aren't modifying the dictionary at any time after construction, then you should be OK.

