0
using System.Numerics;
using System.Threading.Tasks;
namespace Fibonacci_cs
{
class Program
{
static void Main(string[] args)
{
int i;
var ausgabe = Task.Factory.StartNew((() => {}));
BigInteger x, y = 1, z = 1;
for (i = 1; i < int.MaxValue; i++)
{
x = y;
Task.WaitAll();
y = z;
Task.Factory.StartNew((() => { z = BigInteger.Add(x, y); }));
Task.Factory.StartNew((() =>
{
if (ausgabe.IsCompleted)
{
ausgabe = Task.Factory.StartNew((() =>
{
using (System.IO.StreamWriter file = new System.IO.StreamWriter(@"A:\Fibonacci.txt"))
{
file.WriteLine("i: " + i);
file.WriteLine("z: " + z);
}
}));
}
}));
}
Task.WaitAll();
using (System.IO.StreamWriter file =
new System.IO.StreamWriter(@"A:\Fibonacci.txt"))
{
file.WriteLine("i: " + i);
file.WriteLine("z: " + z);
}
}
}
}
我得到一個System.IO.IOException,因爲該文件是「正在使用」。我錯過了什麼?該過程在使用後是否不關閉文件?IOException在使用線程時
我沒有更多的細節,除了我必須這樣使用它。
聽起來就像你試圖從不同的線程同時寫入同一個文件。 – CodesInChaos
該文件通過嘗試寫入該文件的多個線程(執行您創建的任務)進行訪問。你爲什麼這樣做? –
文件寫入操作不是線程安全的,您應該以另一種方式進行操作。 – Larry