C# 多进程安全

多个应用程序同时写入数据到一个文件中时可用

            public void WriteData(string dataWh, string filePath)
            {
                EventWaitHandle waitHandle = new EventWaitHandle(true, EventResetMode.AutoReset, "SHARED_BY_ALL_PROCESSES");
                waitHandle.WaitOne();
                try
                {
                    using (var fs = new FileStream(filePath, FileMode.OpenOrCreate, FileAccess.ReadWrite))
                    {
                        byte[] dataAsByteArray = new UTF8Encoding(true).GetBytes(dataWh);
                        fs.Write(dataAsByteArray, 0, dataWh.Length);
                        Console.WriteLine("111111111111");
                    }
                }
                finally
                {
                    waitHandle.Set();
                }
            }
SHARED_BY_ALL_PROCESSES 是字符串键
确保所有应用程序中的键是一样的值, try里面的代码就是进程安全的.

可以复制这这段代码新建两个控制台程序试试 ^ ^



posted @ 2019-03-01 11:50  马肯尼煤牙巴骨  阅读(357)  评论(0)    收藏  举报