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);
        }

 

posted on 2014-09-12 11:46  alonelonly  阅读(470)  评论(0编辑  收藏  举报

导航