首页 > 代码库 > C# 多线程写文件,时常写不成功

C# 多线程写文件,时常写不成功

在项目中,做一个文本日志功能

为了不影响页面响应速度,所以使用了多线程,在测试的时候,风险文件写入时常不成功,经过一番周折,

发现th.IsBackground = true;后台线程不为主线程的子线程这句代码的问题,表示为主线程的子线程,如果主线程关闭,子线程也会一起关闭。

注释掉代码后,查询正常。

public void Async_WriteLog_Desc(object logObjct, string oldObject, object newObject)        {            Thread th = new Thread(new ParameterizedThreadStart(TheadInvok_WriteLog_Desc));            LogEntity lg = new LogEntity();            lg.logObjct = logObjct;            lg.oldObject = oldObject;            lg.newObject = newObject;            //th.IsBackground = true;后台线程不为主线程的子线程            th.Start(lg);        }

 

C# 多线程写文件,时常写不成功