做的项目中有要用到timer进行定时轮询的,每隔30秒就执行我们业务里面的一个函数,如果30秒内我们的函数没有执行完,是不是timer又建一个线程执行我们的函数,这样下去,线程数会越来越多,系统会崩溃。求指导解决的方法!!!!
protected override void OnStart(string[] args)
{
if(timer==null )
timer = new Timer(work, null, 30000, 30000);
// TODO: 在此处添加代码以启动服务。
} public void work(object status)
{
lock (this)
{
//收信息
idll.geter(code);
}
}
protected override void OnStart(string[] args)
{
if(timer==null )
timer = new Timer(work, null, 30000, 30000);
// TODO: 在此处添加代码以启动服务。
} public void work(object status)
{
lock (this)
{
//收信息
idll.geter(code);
}
}
解决方案 »
- C#字符串转datatime出错,代码如下,如果不传参,直接把时间写到方法里就没错误,为什么呢?
- winform richtextbox 显示WORD文档问题 急!
- 关于C# listview控件中上下文菜问题
- 也秀一下网站◆源码搜搜◆
- 获取ACCESS数据表中字段的类型,长度,是否为空,默认值,备注以及表的主键信息
- 在JS里如何将一个用逗号分开的字符串添加到<select></select>里面?
- C#的comobox小问题
- 无聊,借用了一下TOM的聊天室的JS与页面,用C#写了一个聊天服务器。。。
- 大家都用C#做什么开发阿??
- 一个有难度的MDI问题
- 将一个数组的元素写入Acess数据库的问题??新手真心求教!!
- 请问为什么把列的自增量设为-1
lock (this)
{
timer.Stop();
//收信息
idll.geter(code);
timer.Start();
}