File Directory Stream C# Tutorial

using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;
using System.IO;
class Program {
    static void Main(string[] args) {
        Console.WriteLine("Main thread started. ThreadID = {0}", Thread.CurrentThread.GetHashCode());
        FileStream fs = new FileStream("logfile.txt", FileMode.Append, FileAccess.Write, FileShare.None, 4096, true);
        string msg = "this is a test";
        byte[] buffer = Encoding.ASCII.GetBytes(msg);
        fs.BeginWrite(buffer, 0, buffer.Length, new AsyncCallback(WriteDone), fs);
    }
    private static void WriteDone(IAsyncResult ar) {
        Console.WriteLine("AsyncCallback method on ThreadID = {0}", Thread.CurrentThread.GetHashCode());
        Stream s = (Stream)ar.AsyncState;
        s.EndWrite(ar);
        s.Close();
    }
}