/// <summary> /// This method will cause BullOak.Repositories to never use thread safe operations for any operation of any state type. This is generally less safe than the alternative but /// this comes at a significant performance gain. MOREOVER: when using messaging you should generally avoid using threading and rely on messaging to achieve utilization of hardware /// resources, which mean that there is no need for synchronization. /// </summary> /// <param name="self"></param> /// <returns>An object that will be responsible for configuring the event publisher.</returns> public static IConfigureEventPublisher NeverUseThreadSafe(this IConfigureThreadSafety self) => self.WithThreadSafetySelector(_ => false);
/// <summary> /// This method will cause BullOak.Repositories to automatically use thread safe operations for all operations of any state type. This is generally safer than the alternative /// but this comes at a significant overhead. MOREOVER: when using messaging you should generally avoid using threading and rely on messaging to achieve utilization of hardware /// resources, which mean that there is no need for synchronization. /// </summary> /// <param name="self"></param> /// <returns>An object that will be responsible for configuring the event publisher.</returns> public static IConfigureEventPublisher AlwaysUseThreadSafe(this IConfigureThreadSafety self) => self.WithThreadSafetySelector(_ => true);