c#可以使用同一文件编写器单例同时写入多个文件

时间:2018-09-13 18:40:00

标签: c# multithreading file io thread-safety

例如,我可以制作一个写入文件的单例,然后在多个线程中使用它来同时写入不同的文件吗?还是我不想考虑一些不需要的副作用?这很难在演示应用程序中测试每种情况,因此希望获得一些指导。 Singleton File writer看起来像这样。

       public sealed class CustomFileWriter
       {
         private static CustomFileWriter(){}

         public static CustomFileWriter Instance
         {
                    get
                    {
                        lock (padlock)
                        {
                            if (instance == null)
                            {
                                instance = new CustomFileWriter();
                            }
                            return instance;
                        }
                    }
         }
         WriteToFile(string fileName, string contents)
         {
          // other business logic goes here that is not specific to the question.
          File.AppendAllText(fileName, contents)
         }
       }

0 个答案:

没有答案