From Reflector:
public Lazy(Func<T> valueFactory, bool isThreadSafe) : this(valueFactory, isThreadSafe ?LazyThreadSafetyMode.ExecutionAndPublication : LazyThreadSafetyMode.None)
{
}
So if you pass true
it will convert to LazyThreadSafetyMode.ExecutionAndPublication
.
false
will convert to LazyThreadSafetyMode.None
By the way, if you only pass the value factor (omitting the bool altogether), it uses LazyThreadSafetyMode.ExecutionAndPublication
.