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

 

转载于:https://www.cnblogs.com/PLifeCopyDown/p/3968090.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值