关于网友提出的“关于感情问题 关于线程问题。”问题疑问,本网通过在网上对“关于感情问题 关于线程问题。”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题:关于感情问题 关于线程问题。描述:
C# .netasp.net
void Application_Start(object sender, EventArgs e){
log4net.Config.XmlConfigurator.Configure();
BackQujian();
}
protected static System.Threading.Thread thread = null;
private static object LockHelper = new object();
void BackQujian()
{
//每隔一小时进行数据提交
if (null == thread)
{
lock (LockHelper)
{
if (null == thread)
{
thread = new System.Threading.Thread(new System.Threading.ThreadStart(Process));
thread.Start();
}
}
}
}
public static void Process()
{
while (true)
{
try
{
DesignHawk.Common.LogHelper.WriteLog(null, "开始执行返钱");
if (DateTime.Now.Hour == 23)
{
DesignHawk.Common.LogHelper.WriteLog(null, "成功执行返钱条件里面");
DesignHawk.IBLL.IOrderBll aut = DesignHawk.BLLFactory.DataAccess.GetBll
aut.ReturnMoney();
}
DesignHawk.Common.LogHelper.WriteLog(null, "返钱结束");
}
catch (System.Threading.ThreadAbortException tae)
{
DesignHawk.Common.LogHelper.WriteLog(null, "出现异常");
System.Threading.Thread.ResetAbort();
}
catch (Exception ex)
{
DesignHawk.Common.LogHelper.WriteLog(null, "出现异常 Exception");
}
finally
{
DesignHawk.Common.LogHelper.WriteLog(null, "休眠一小时");
System.Threading.Thread.Sleep(60 * 60 * 1000);
}
}
}
下面是这几天的日志
ps: 2016-06-11
----------------------header--------------------------
2016-06-11 14:26:03,451 [18] ERROR WebLogger - 开始执行返钱
2016-06-11 14:26:03,471 [18] ERROR WebLogger - 返钱结束
2016-06-11 14:26:03,476 [18] ERROR WebLogger - 休眠一小时
----------------------footer--------------------------
----------------------header--------------------------
2016-06-11 15:20:45,243 [5] ERROR WebLogger - 开始执行返钱
2016-06-11 15:20:45,287 [5] ERROR WebLogger - 返钱结束
2016-06-11 15:20:45,298 [5] ERROR WebLogger - 休眠一小时
----------------------footer--------------------------
----------------------header--------------------------
2016-06-11 16:09:43,223 [5] ERROR WebLogger - 开始执行返钱
2016-06-11 16:09:43,254 [5] ERROR WebLogger - 返钱结束
2016-06-11 16:09:43,269 [5] ERROR WebLogger - 休眠一小时
----------------------footer--------------------------
----------------------header--------------------------
2016-06-11 17:48:31,211 [5] ERROR WebLogger - 开始执行返钱
2016-06-11 17:48:31,258 [5] ERROR WebLogger - 返钱结束
2016-06-11 17:48:31,258 [5] ERROR WebLogger - 休眠一小时
----------------------footer--------------------------
----------------------header--------------------------
2016-06-11 19:18:15,896 [5] ERROR WebLogger - 开始执行返钱
2016-06-11 19:18:15,925 [5] ERROR WebLogger - 返钱结束
2016-06-11 19:18:15,933 [5] ERROR WebLogger - 休眠一小时
----------------------footer--------------------------
----------------------header--------------------------
2016-06-11 20:38:44,884 [5] ERROR WebLogger - 开始执行返钱
2016-06-11 20:38:44,912 [5] ERROR WebLogger - 返钱结束
2016-06-11 20:38:44,918 [5] ERROR WebLogger - 休眠一小时
----------------------footer--------------------------
----------------------header--------------------------
2016-06-11 21:38:47,559 [5] ERROR WebLogger - 开始执行返钱
2016-06-11 21:38:47,577 [5] ERROR WebLogger - 返钱结束
2016-06-11 21:38:47,582 [5] ERROR WebLogger - 休眠一小时
----------------------footer--------------------------
----------------------header--------------------------
2016-06-11 22:28:06,887 [7] ERROR WebLogger - 开始执行返钱
2016-06-11 22:28:06,918 [7] ERROR WebLogger - 返钱结束
2016-06-11 22:28:06,918 [7] ERROR WebLogger - 休眠一小时
----------------------footer--------------------------
----------------------header--------------------------
2016-06-11 23:41:27,286 [5] ERROR WebLogger - 开始执行返钱
2016-06-11 23:41:27,317 [5] ERROR WebLogger - 成功执行返钱条件里面
2016-06-11 23:41:27,598 [5] ERROR WebLogger - 返钱结束
2016-06-11 23:41:27,598 [5] ERROR WebLogger - 休眠一小时
----------------------footer--------------------------
ps 2016-6-12
----------------------header--------------------------
2016-06-12 00:51:24,379 [5] ERROR WebLogger - 开始执行返钱
2016-06-12 00:51:24,411 [5] ERROR WebLogger - 返钱结束
2016-06-12 00:51:24,442 [5] ERROR WebLogger - 休眠一小时
----------------------footer--------------------------
----------------------header--------------------------
2016-06-12 05:29:46,620 [5] ERROR WebLogger - 开始执行返钱
2016-06-12 05:29:46,635 [5] ERROR WebLogger - 返钱结束
2016-06-12 05:29:46,651 [5] ERROR WebLogger - 休眠一小时
----------------------footer--------------------------
----------------------header--------------------------
2016-06-12 07:56:55,842 [5] ERROR WebLogger - 开始执行返钱
2016-06-12 07:56:55,877 [5] ERROR WebLogger - 返钱结束
2016-06-12 07:56:55,896 [5] ERROR WebLogger - 休眠一小时
----------------------footer--------------------------
----------------------header--------------------------
2016-06-12 09:26:16,287 [5] ERROR WebLogger - 开始执行返钱
2016-06-12 09:26:16,334 [5] ERROR WebLogger - 返钱结束
2016-06-12 09:26:16,365 [5] ERROR WebLogger - 休眠一小时
----------------------footer--------------------------
----------------------header--------------------------
2016-06-12 09:58:52,263 [5] ERROR WebLogger - 开始执行返钱
2016-06-12 09:58:52,289 [5] ERROR WebLogger - 返钱结束
2016-06-12 09:58:52,320 [5] ERROR WebLogger - 休眠一小时
----------------------footer--------------------------
----------------------header--------------------------
2016-06-12 12:32:08,099 [5] ERROR WebLogger - 开始执行返钱
2016-06-12 12:32:08,149 [5] ERROR WebLogger - 返钱结束
2016-06-12 12:32:08,160 [5] ERROR WebLogger - 休眠一小时
----------------------footer--------------------------
----------------------header--------------------------
2016-06-12 13:21:31,316 [5] ERROR WebLogger - 开始执行返钱
2016-06-12 13:21:31,347 [5] ERROR WebLogger - 返钱结束
2016-06-12 13:21:31,347 [5] ERROR WebLogger - 休眠一小时
----------------------footer--------------------------
----------------------header--------------------------
2016-06-12 15:37:51,396 [5] ERROR WebLogger - 开始执行返钱
2016-06-12 15:37:51,473 [5] ERROR WebLogger - 返钱结束
2016-06-12 15:37:51,488 [5] ERROR WebLogger - 休眠一小时
----------------------footer--------------------------
----------------------header--------------------------
2016-06-12 16:25:32,065 [5] ERROR WebLogger - 开始执行返钱
2016-06-12 16:25:32,096 [5] ERROR WebLogger - 返钱结束
2016-06-12 16:25:32,096 [5] ERROR WebLogger - 休眠一小时
----------------------footer--------------------------
----------------------header--------------------------
2016-06-12 17:02:55,814 [5] ERROR WebLogger - 开始执行返钱
2016-06-12 17:02:55,841 [5] ERROR WebLogger - 返钱结束
2016-06-12 17:02:55,850 [5] ERROR WebLogger - 休眠一小时
----------------------footer--------------------------
----------------------header--------------------------
2016-06-12 17:27:34,965 [5] ERROR WebLogger - 开始执行返钱
2016-06-12 17:27:34,996 [5] ERROR WebLogger - 返钱结束
2016-06-12 17:27:35,012 [5] ERROR WebLogger - 休眠一小时
----------------------footer--------------------------
----------------------header--------------------------
2016-06-12 19:21:21,577 [5] ERROR WebLogger - 开始执行返钱
2016-06-12 19:21:21,593 [5] ERROR WebLogger - 返钱结束
2016-06-12 19:21:21,608 [5] ERROR WebLogger - 休眠一小时
----------------------footer--------------------------
----------------------header--------------------------
2016-06-12 20:20:34,185 [5] ERROR WebLogger - 开始执行返钱
2016-06-12 20:20:34,219 [5] ERROR WebLogger - 返钱结束
2016-06-12 20:20:34,229 [5] ERROR WebLogger - 休眠一小时
----------------------footer--------------------------
----------------------header--------------------------
2016-06-12 22:48:34,764 [5] ERROR WebLogger - 开始执行返钱
2016-06-12 22:48:34,811 [5] ERROR WebLogger - 返钱结束
2016-06-12 22:48:34,811 [5] ERROR WebLogger - 休眠一小时
----------------------footer--------------------------
写得好好的休眠一个小时,怎么有时候休眠两个小时了。求解!
解决方案1:
建议你用 Timer来做这种事情
IIS的工作进程默认空闲20分钟就会回收(网站停止),直到收到请求时又会自动启动
虽然这个时间可调,但诸多的回收策略仍然会干扰,其实最好是用windows service