gpt4 book ai didi

c# - 从多个线程异步写入文件c#

转载 作者:IT王子 更新时间:2023-10-29 04:01:24 25 4
gpt4 key购买 nike

这是我的情况。我想在我的应用程序中尽可能高效地写入文件系统。该应用程序是多线程的,每个线程都可能写入同一个文件。有没有一种方法可以让我从每个线程异步写入文件,而不是让不同线程中的写入头撞在一起,可以这么说?

我使用的是 C# 和 .NET 3.5,我也安装了 Reactive Extensions。

最佳答案

对于那些喜欢代码的人,我正在使用以下内容从网络应用程序进行远程日志记录......

public static class LoggingExtensions
{
static ReaderWriterLock locker = new ReaderWriterLock();
public static void WriteDebug(this string text)
{
try
{
locker.AcquireWriterLock(int.MaxValue); //You might wanna change timeout value
System.IO.File.AppendAllLines(Path.Combine(Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase).Replace("file:\\", ""), "debug.txt"), new[] { text });
}
finally
{
locker.ReleaseWriterLock();
}
}
}

希望这可以节省你一些时间

关于c# - 从多个线程异步写入文件c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3507770/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com