例如,我可以制作一个写入文件的单例,然后在多个线程中使用它来同时写入不同的文件吗?还是我不想考虑一些不需要的副作用?这很难在演示应用程序中测试每种情况,因此希望获得一些指导。 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)
}
}