包含vb.net定时器线程的词条

.net 怎么定时执行程序

用Timer解决问题的思路很简单,首先设定Timer类的Interval属性(单位是毫秒),也就是时间间隔;然后在Timer的Elapsed的事件里写执行代码,每过一个设置好的Interval时间间隔,将执行一次Elapsed中的事件 (这和VB程序中的Timer控件基本没有区别)。

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:空间域名、虚拟主机、营销软件、网站建设、黔江网站维护、网站推广。

那知道了用什么类,这些代码要写在哪里呢?把代码写在Global.asax件中,在VS的项目上右键,点添加--》新建项,选“全局应用程序类”,项目中就会有Global.asax文件了。

为了表达清楚直接上代码(首先在Global.asax文件头部引入system.Timers命名控件):

span style="font-size:18px;" public class Global : System.Web.HttpApplication

{

//在网站运行时这段代码同时启动

protected void Application_Start(object sender, EventArgs e)

{

System.Timers.Timer objTimer = new System.Timers.Timer();

objTimer.Interval = 60*1000; //这个时间单位:毫秒

objTimer.Enabled = true; //设置Timer类的可用性

//将Timer的Elapsed事件绑定到新建立的timer对象上

objTimer.Elapsed += new ElapsedEventHandler(objTimer_Elapsed);

}/span

下面是在Timer的Elapsed事件中的代码

span style="font-size:18px;"void objTimer_Elapsed(object sender, ElapsedEventArgs e)

{

string Time = DateTime.Now.ToShortTimeString();//获得当前时间

//从配置文件里获得当前设置的时间。

string OrderTime = ConfigurationManager.AppSettings["OrderFoodTime"];

/*测试数据*/

if(Time.Equals(OrderTime))

{

//如果时间相等,执行你要执行的操作,这里可以调用你程序中的其他类的方法

}

}/span

关于vb.net定时器问题

Timer1.Interval = 500

Private Sub Timer1_Timer()

Timer1.Enabled = False

Dim ss As String

ss = Format(Now, "HH:mm:ss")

If ss = "12:00:00" Then

'执行备份语句

End If

Timer1.Enabled = True

End Sub

还有一个办法就是可以用SQL自身的功能,在SQL里面可以添加任务 ,设置周期为每天,时间为12点,到时候执行一下备份

vb.net如何判断线程执行完毕?

我给你一个简单的思路:

1,定义5个公共布尔变量,用来记录5个线程的执行情况

2,线程开始变量赋值假,执行完毕或者异常退出赋值真

3,一直用一个定时器扫描5个公共布尔变量----------随时知道状态

关于VB.net Timer控件与多线程问题

Timer 是在 主线程里执行的,Thread 是在自己的线程中执行的,多核心的CPU使用线程能提高处理能力。回到你的问题,主线程如果卡死,timer就会失去响应,很正常的。请使用System.Timers.Timer类吧。请参考一下:

vb.net如何在windows控制台下使用定时器

控制台调用Timer和窗体是类似的。首先在项目引用里面加入System.Windows.Forms程序集,然后在代码顶部引入命名空间:

Imports System.Windows.Forms

在控制台的Module中声明一个计时器:

Private WithEvents Timer1 As New Timer()

把计时器的Tick事件静态绑定到处理函数中:

Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick

'一些代码

End Sub

在需要开始计时的地方,修改其Interval、Enabled属性:

Timer1.Interval = 1000

Timer1.Enabled = True

vb.net 多线程与timer的问题

可能原因:timer不是由当前线程创建的。

解决方案:在线程中实例化一个timer,然后触发,可以去试一下;或者通过委托,调用timer。

先不用线程试一下吧。


分享文章:包含vb.net定时器线程的词条
网站地址:http://ybzwz.com/article/hcggic.html